Change:
{ stdenv , lib <ins> , fetchFromGitHub </ins> , fetchurl <del> , python39 </del> <ins> , python310 </ins> , nodePackages , wkhtmltopdf , nixosTests }: let <del> python = python39.override { </del> <ins> python = python310.override { </ins> packageOverrides = self: super: { <del> click = super.click.overridePythonAttrs (old: rec { version = "7.1.2"; src = old.src.override { inherit version; sha256 = "d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a"; </del> <ins> pypdf2 = super.pypdf2.overridePythonAttrs (old: rec { version = "1.28.6"; format = "setuptools"; src = fetchFromGitHub { owner = "py-pdf"; repo = "pypdf"; rev = version; fetchSubmodules = true; hash = "sha256-WnRbsy/PJcotZqY9mJPLadrYqkXykOVifLIbDyNf4s4="; </ins> }; <ins> nativeBuildInputs = []; nativeCheckInputs = with self; [ pytestCheckHook pillow ]; </ins> }); flask = super.flask.overridePythonAttrs (old: rec { <del> version = "1.1.4"; src = old.src.override { inherit version; sha256 = "0fbeb6180d383a9186d0d6ed954e0042ad9f18e0e8de088b2b419d526927d196"; }; }); itsdangerous = super.itsdangerous.overridePythonAttrs (old: rec { version = "1.1.0"; src = old.src.override { inherit version; sha256 = "321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19"; }; }); jinja2 = super.jinja2.overridePythonAttrs (old: rec { version = "2.11.3"; src = old.src.override { inherit version; sha256 = "a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6"; }; }); markupsafe = super.markupsafe.overridePythonAttrs (old: rec { version = "2.0.1"; </del> <ins> version = "2.1.3"; </ins> src = old.src.override { inherit version; <del> sha256 = "594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a"; </del> <ins> hash = "sha256-FZcuUBffBXXD1sCQuhaLbbkCWeYgrI1+qBOjlrrVtss="; </ins> }; }); werkzeug = super.werkzeug.overridePythonAttrs (old: rec { <del> version = "1.0.1"; </del> <ins> version = "2.1.2"; </ins> src = old.src.override { inherit version; <del> sha256 = "6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c"; </del> <ins> hash = "sha256-HOCOgJPtZ9Y41jh5/Rujc1gX96gN42dNKT9ZhPJftuY="; </ins> }; <del> nativeCheckInputs = old.nativeCheckInputs ++ (with self; [ requests ]); disabledTests = old.disabledTests ++ [ # ResourceWarning: unclosed file "test_basic" "test_date_to_unix" "test_easteregg" "test_file_rfc2231_filename_continuations" "test_find_terminator" "test_save_to_pathlib_dst" ]; disabledTestPaths = old.disabledTestPaths ++ [ # ResourceWarning: unclosed file "tests/test_http.py" ]; </del> }); }; }; <del> in python.pkgs.buildPythonApplication rec { pname = "odoo"; </del> odoo_version = "15.0"; <del> odoo_release = "20220506"; </del> <ins> odoo_release = "20230317"; in python.pkgs.buildPythonApplication rec { pname = "odoo"; </ins> version = "${odoo_version}.${odoo_release}"; format = "setuptools";

Discussion:
I was trying to build a NixOS derivation containing odoo using The flake output I built is a nixosConfiguration for the aarch64-linxu system, since I am running locally nix on darwin I am remote building to an aarch64-linux host. For odoo For werkzeug Please run and paste the result.
This is not a problem of werkzeug but odoo.
I changed the title, thank you for your help (ping for the update)