Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Development install not compatible with Python 3.12 #1401

Open
edejong-caltech opened this issue Oct 10, 2024 · 2 comments
Open

Development install not compatible with Python 3.12 #1401

edejong-caltech opened this issue Oct 10, 2024 · 2 comments

Comments

@edejong-caltech
Copy link
Collaborator

edejong-caltech commented Oct 10, 2024

Error message when executing pip install -e pysdm:

Installing build dependencies ... done
  Checking if build backend supports build_editable ... error
  error: subprocess-exited-with-error
  
  × Checking if build backend supports build_editable did not run successfully.
  │ exit code: 1
  ╰─> [33 lines of output]
      Traceback (most recent call last):
        File "/opt/anaconda3/envs/learning/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/opt/anaconda3/envs/learning/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 "/opt/anaconda3/envs/learning/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 100, in _supported_features
          backend = _build_backend()
                    ^^^^^^^^^^^^^^^^
        File "/opt/anaconda3/envs/learning/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 77, in _build_backend
          obj = import_module(mod_path)
                ^^^^^^^^^^^^^^^^^^^^^^^
        File "/opt/anaconda3/envs/learning/lib/python3.12/importlib/__init__.py", line 90, in import_module
          return _bootstrap._gcd_import(name[level:], package, level)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
        File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
        File "<frozen importlib._bootstrap>", line 1310, in _find_and_load_unlocked
        File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
        File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
        File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
        File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
        File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
        File "<frozen importlib._bootstrap_external>", line 995, in exec_module
        File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
        File "/private/var/folders/p0/4_dx18lx2hg2t2d47ltv2r8m00223t/T/pip-build-env-o26dgx53/overlay/lib/python3.12/site-packages/setuptools/__init__.py", line 16, in <module>
          import setuptools.version
        File "/private/var/folders/p0/4_dx18lx2hg2t2d47ltv2r8m00223t/T/pip-build-env-o26dgx53/overlay/lib/python3.12/site-packages/setuptools/version.py", line 1, in <module>
          import pkg_resources
        File "/private/var/folders/p0/4_dx18lx2hg2t2d47ltv2r8m00223t/T/pip-build-env-o26dgx53/overlay/lib/python3.12/site-packages/pkg_resources/__init__.py", line 2158, in <module>
          register_finder(pkgutil.ImpImporter, find_on_path)
                          ^^^^^^^^^^^^^^^^^^^
      AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'?
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Checking if build backend supports build_editable did not run successfully.
│ exit code: 1
╰─> See above for output. 

Seems related to updates in v3.12 that remove features of importlib: https://docs.python.org/3/whatsnew/3.12.html#importlib. Consider restricting installation to 3.11 in setup.py? (Applies to examples as well).

@edejong-caltech
Copy link
Collaborator Author

Note that downgrading python version to 3.11 was effective in fixing the issue for me.

@slayoo
Copy link
Member

slayoo commented Oct 10, 2024

thanks @edejong-caltech
For the record, on CI, we have the following workaround for Python 3.12:
https://github.com/open-atmos/PySDM/blob/main/.github/workflows/tests%2Bartifacts%2Bpypi.yml#L330-L331

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants