project-chip / connectedhomeip

Matter (formerly Project CHIP) creates more connections between more objects, simplifying development for manufacturers and increasing compatibility for consumers, guided by the Connectivity Standards Alliance.
https://buildwithmatter.com
Apache License 2.0
7.18k stars 1.9k forks source link

[Tooling] Python 3.12 support #29659

Open emanuelbuholzer opened 9 months ago

emanuelbuholzer commented 9 months ago

Reproduction steps / Feature

Setting up the Python environment using bootstrap.sh fails when using python3.12. This originates from the backwards incompatible change removing the deprecated imp module. For more information about the imp module see: https://discuss.python.org/t/how-do-i-migrate-from-imp/27885

[459/1012] python3 ../../third_party/pigweed/repo/pw_build/py/pw_build/python_runner.py --gn-root ../../ --current-path ../.. --default-toolchain=//build/toolchain/linux:linux_x64_gcc --current-toolchain=//third_party/pigweed/repo/pw_build/python_toolchain:python --capture-output --module piptools --python-virtualenv-config python/gen/matter_build_venv/venv_metadata.json --python-dep-list-files python/gen/matter_build_venv._compile_requirements_metadata_path_list.txt -- compile --resolver=backtracking --allow-unsafe --output-file python/gen/matter_build_venv/compiled_requirements.txt python/gen/matter_build_venv/generated_requirements.txt ../../scripts/setup/requirements.build.txt
FAILED: python/gen/matter_build_venv/compiled_requirements.txt 
python3 ../../third_party/pigweed/repo/pw_build/py/pw_build/python_runner.py --gn-root ../../ --current-path ../.. --default-toolchain=//build/toolchain/linux:linux_x64_gcc --current-toolchain=//third_party/pigweed/repo/pw_build/python_toolchain:python --capture-output --module piptools --python-virtualenv-config python/gen/matter_build_venv/venv_metadata.json --python-dep-list-files python/gen/matter_build_venv._compile_requirements_metadata_path_list.txt -- compile --resolver=backtracking --allow-unsafe --output-file python/gen/matter_build_venv/compiled_requirements.txt python/gen/matter_build_venv/generated_requirements.txt ../../scripts/setup/requirements.build.txt
    error: subprocess-exited-with-error

    × Getting requirements to build wheel did not run successfully.
    │ exit code: 1
    ╰─> [54 lines of output]
        running egg_info
        writing lib/PyYAML.egg-info/PKG-INFO
        writing dependency_links to lib/PyYAML.egg-info/dependency_links.txt
        writing top-level names to lib/PyYAML.egg-info/top_level.txt
        Traceback (most recent call last):
          File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
            main()
          File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
            json_out['return_val'] = hook(**hook_input['kwargs'])
                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
            return hook(config_settings)
                   ^^^^^^^^^^^^^^^^^^^^^
          File "/tmp/pip-build-env-xslmrga5/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 355, in get_requires_for_build_wheel
            return self._get_build_requires(config_settings, requirements=['wheel'])
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          File "/tmp/pip-build-env-xslmrga5/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 325, in _get_build_requires
            self.run_setup()
          File "/tmp/pip-build-env-xslmrga5/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 341, in run_setup
            exec(code, locals())
          File "<string>", line 288, in <module>
          File "/tmp/pip-build-env-xslmrga5/overlay/lib/python3.12/site-packages/setuptools/__init__.py", line 103, in setup
            return distutils.core.setup(**attrs)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          File "/tmp/pip-build-env-xslmrga5/overlay/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 185, in setup
            return run_commands(dist)
                   ^^^^^^^^^^^^^^^^^^
          File "/tmp/pip-build-env-xslmrga5/overlay/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
            dist.run_commands()
          File "/tmp/pip-build-env-xslmrga5/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
            self.run_command(cmd)
          File "/tmp/pip-build-env-xslmrga5/overlay/lib/python3.12/site-packages/setuptools/dist.py", line 989, in run_command
            super().run_command(command)
          File "/tmp/pip-build-env-xslmrga5/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
            cmd_obj.run()
          File "/tmp/pip-build-env-xslmrga5/overlay/lib/python3.12/site-packages/setuptools/command/egg_info.py", line 318, in run
            self.find_sources()
          File "/tmp/pip-build-env-xslmrga5/overlay/lib/python3.12/site-packages/setuptools/command/egg_info.py", line 326, in find_sources
            mm.run()
          File "/tmp/pip-build-env-xslmrga5/overlay/lib/python3.12/site-packages/setuptools/command/egg_info.py", line 548, in run
            self.add_defaults()
          File "/tmp/pip-build-env-xslmrga5/overlay/lib/python3.12/site-packages/setuptools/command/egg_info.py", line 586, in add_defaults
            sdist.add_defaults(self)
          File "/tmp/pip-build-env-xslmrga5/overlay/lib/python3.12/site-packages/setuptools/command/sdist.py", line 113, in add_defaults
            super().add_defaults()
          File "/tmp/pip-build-env-xslmrga5/overlay/lib/python3.12/site-packages/setuptools/_distutils/command/sdist.py", line 251, in add_defaults
            self._add_defaults_ext()
          File "/tmp/pip-build-env-xslmrga5/overlay/lib/python3.12/site-packages/setuptools/_distutils/command/sdist.py", line 336, in _add_defaults_ext
            self.filelist.extend(build_ext.get_source_files())
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          File "<string>", line 204, in get_source_files
          File "/tmp/pip-build-env-xslmrga5/overlay/lib/python3.12/site-packages/setuptools/_distutils/cmd.py", line 107, in __getattr__
            raise AttributeError(attr)
        AttributeError: cython_sources
        [end of output]

    note: This error originates from a subprocess, and is likely not a problem with pip.
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/piptools/__main__.py", line 19, in <module>
    cli()
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/piptools/scripts/compile.py", line 630, in cli
    results = resolver.resolve(max_rounds=max_rounds)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/piptools/resolver.py", line 604, in resolve
    is_resolved = self._do_resolve(
                  ^^^^^^^^^^^^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/piptools/resolver.py", line 636, in _do_resolve
    resolver.resolve(
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 92, in resolve
    result = self._result = resolver.resolve(
                            ^^^^^^^^^^^^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/pip/_vendor/resolvelib/resolvers.py", line 546, in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/pip/_vendor/resolvelib/resolvers.py", line 397, in resolve
    self._add_to_criteria(self.state.criteria, r, parent=None)
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/pip/_vendor/resolvelib/resolvers.py", line 173, in _add_to_criteria
    if not criterion.candidates:
           ^^^^^^^^^^^^^^^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/pip/_vendor/resolvelib/structs.py", line 156, in __bool__
    return bool(self._sequence)
           ^^^^^^^^^^^^^^^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 155, in __bool__
    return any(self)
           ^^^^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 143, in <genexpr>
    return (c for c in iterator if id(c) not in self._incompatible_ids)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 47, in _iter_built
    candidate = func()
                ^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 206, in _make_candidate_from_link
    self._link_candidate_cache[link] = LinkCandidate(
                                       ^^^^^^^^^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 293, in __init__
    super().__init__(
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__
    self.dist = self._prepare()
                ^^^^^^^^^^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 225, in _prepare
    dist = self._prepare_distribution()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 304, in _prepare_distribution
    return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/pip/_internal/operations/prepare.py", line 529, in prepare_linked_requirement
    return self._prepare_linked_requirement(req, parallel_builds)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/pip/_internal/operations/prepare.py", line 644, in _prepare_linked_requirement
    dist = _get_prepared_distribution(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/pip/_internal/operations/prepare.py", line 69, in _get_prepared_distribution
    abstract_dist.prepare_distribution_metadata(
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/pip/_internal/distributions/sdist.py", line 48, in prepare_distribution_metadata
    self._install_build_reqs(finder)
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/pip/_internal/distributions/sdist.py", line 118, in _install_build_reqs
    build_reqs = self._get_build_requires_wheel()
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/pip/_internal/distributions/sdist.py", line 95, in _get_build_requires_wheel
    return backend.get_requires_for_build_wheel()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/pip/_internal/utils/misc.py", line 697, in get_requires_for_build_wheel
    return super().get_requires_for_build_wheel(config_settings=cs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 166, in get_requires_for_build_wheel
    return self._call_hook('get_requires_for_build_wheel', {
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 311, in _call_hook
    self._subprocess_runner(
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/pip/_internal/utils/subprocess.py", line 252, in runner
    call_subprocess(
  File "/home/emanuelbuholzer/connectedhomeip/.environment/gn_out/python-venv/lib64/python3.12/site-packages/pip/_internal/utils/subprocess.py", line 224, in call_subprocess
    raise error
pip._internal.exceptions.InstallationSubprocessError: Getting requirements to build wheel exited with 1
ninja: build stopped: subcommand failed.
['ninja', '-C', '/home/emanuelbuholzer/connectedhomeip/.environment/gn_out', '-v', ':python_packages.install']

Traceback (most recent call last):
  File "/home/emanuelbuholzer/connectedhomeip/third_party/pigweed/repo/pw_env_setup/py/pw_env_setup/virtualenv_setup/install.py", line 411, in install_packages
    subprocess.check_call(ninja_cmd, stdout=outs, stderr=outs)
  File "/usr/lib64/python3.12/subprocess.py", line 413, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['ninja', '-C', '/home/emanuelbuholzer/connectedhomeip/.environment/gn_out', '-v', ':python_packages.install']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/emanuelbuholzer/connectedhomeip/third_party/pigweed/repo/pw_env_setup/py/pw_env_setup/env_setup.py", line 974, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/third_party/pigweed/repo/pw_env_setup/py/pw_env_setup/env_setup.py", line 966, in main
    return EnvSetup(**vars(parse())).setup()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/third_party/pigweed/repo/pw_env_setup/py/pw_env_setup/env_setup.py", line 573, in setup
    result = step(spin)
             ^^^^^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/third_party/pigweed/repo/pw_env_setup/py/pw_env_setup/env_setup.py", line 762, in virtualenv
    if not virtualenv_setup.install(
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/emanuelbuholzer/connectedhomeip/third_party/pigweed/repo/pw_env_setup/py/pw_env_setup/virtualenv_setup/install.py", line 433, in install
    install_packages(gn_target)
  File "/home/emanuelbuholzer/connectedhomeip/third_party/pigweed/repo/pw_env_setup/py/pw_env_setup/virtualenv_setup/install.py", line 414, in install_packages
    raise subprocess.CalledProcessError(
subprocess.CalledProcessError: Command '['ninja', '-C', '/home/emanuelbuholzer/connectedhomeip/.environment/gn_out', '-v', ':python_packages.install']' returned non-zero exit status 1.
Installing pip requirements for all...
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [24 lines of output]
      Traceback (most recent call last):
        File "/usr/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/usr/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/usr/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
          return hook(config_settings)
                 ^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-bhm1fsz0/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 355, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=['wheel'])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-bhm1fsz0/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 325, in _get_build_requires
          self.run_setup()
        File "/tmp/pip-build-env-bhm1fsz0/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 507, in run_setup
          super(_BuildMetaLegacyBackend, self).run_setup(setup_script=setup_script)
        File "/tmp/pip-build-env-bhm1fsz0/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 341, in run_setup
          exec(code, locals())
        File "<string>", line 3, in <module>
        File "/tmp/pip-install-qzbd8yiv/construct_7de72c6ec0944f26849778e12c6376bb/construct/__init__.py", line 22, in <module>
          from construct.core import *
        File "/tmp/pip-install-qzbd8yiv/construct_7de72c6ec0944f26849778e12c6376bb/construct/core.py", line 3, in <module>
          import struct, io, binascii, itertools, collections, pickle, sys, os, tempfile, hashlib, importlib, imp
      ModuleNotFoundError: No module named 'imp'
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

Platform

other

Platform Version(s)

1ec98c8d96

Type

Manually tested with SDK

(Optional) If manually tested please explain why this is only manually tested

Found in manual workflow after verifying the Fedora 39 release candidate.

Anything else?

No response

mraichev commented 5 months ago

The same issue has been replicated on trying to install Notificore Python Library https://github.com/Notificore/notificore-python.git

`Processing /Users/maxraychev/Dev/practice/python/notificore/notificore-python Installing build dependencies ... done Getting requirements to build wheel ... error error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> [24 lines of output] Traceback (most recent call last): File "/Users/maxraychev/Dev/practice/python/notificore/my_env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in main() File "/Users/maxraychev/Dev/practice/python/notificore/my_env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main json_out['return_val'] = hook(**hook_input['kwargs']) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/maxraychev/Dev/practice/python/notificore/my_env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel return hook(config_settings) ^^^^^^^^^^^^^^^^^^^^^ File "/private/var/folders/pz/hsbprgsn1nl05d08mg0ksnjw0000gp/T/pip-build-env-pz8sfodi/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 325, in get_requires_for_build_wheel return self._get_build_requires(config_settings, requirements=['wheel']) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/private/var/folders/pz/hsbprgsn1nl05d08mg0ksnjw0000gp/T/pip-build-env-pz8sfodi/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 295, in _get_build_requires self.run_setup() File "/private/var/folders/pz/hsbprgsn1nl05d08mg0ksnjw0000gp/T/pip-build-env-pz8sfodi/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 480, in run_setup super(_BuildMetaLegacyBackend, self).run_setup(setup_script=setup_script) File "/private/var/folders/pz/hsbprgsn1nl05d08mg0ksnjw0000gp/T/pip-build-env-pz8sfodi/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 311, in run_setup exec(code, locals()) File "", line 2, in File "/Users/maxraychev/Dev/practice/python/notificore/notificore-python/notificore_restapi/init.py", line 3, in from .api import Requester, Recipient, Response, Price, APIError File "/Users/maxraychev/Dev/practice/python/notificore/notificore-python/notificore_restapi/api.py", line 9, in import requests ModuleNotFoundError: No module named 'requests' [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip`

rosahay-silabs commented 3 months ago

faced similar on a new mac setup by installing brew install python3 used brew install python@3.11 and it did work. I guess its working on an older mac since the package might be compiled and cached.

bbrietzke commented 3 months ago

I'm seeing the same thing on a M2 Mac running Sonoma 14.3.1. I tried both python 3.12.x and 3.11.x. I installed pyenv and set it to 3.9.18 and everything installed.

Using the latest HEAD off of master ( as of this morning ).