pytensor icon indicating copy to clipboard operation
pytensor copied to clipboard

Pip installation is failing

Open canyon289 opened this issue 1 year ago • 3 comments

Description

Getting this on both OSX and ubuntu 22.04

  Downloading pytensor-2.17.1.tar.gz (3.5 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.5/3.5 MB 15.0 MB/s eta 0:00:00
  Installing build dependencies ... error
  error: subprocess-exited-with-error
  
  × pip subprocess to install build dependencies did not run successfully.
  │ exit code: 1
  ╰─> [59 lines of output]
      Collecting setuptools>=48.0.0
        Using cached setuptools-69.0.3-py3-none-any.whl.metadata (6.3 kB)
      Collecting cython
        Downloading Cython-3.0.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.2 kB)
      Collecting numpy<1.26,>=1.17.0
        Downloading numpy-1.25.2.tar.gz (10.8 MB)
           ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.8/10.8 MB 30.9 MB/s eta 0:00:00
        Installing build dependencies: started
        Installing build dependencies: finished with status 'done'
        Getting requirements to build wheel: started
        Getting requirements to build wheel: finished with status 'error'
        error: subprocess-exited-with-error
      
        × Getting requirements to build wheel did not run successfully.
        │ exit code: 1
        ╰─> [33 lines of output]
            Traceback (most recent call last):
              File "/home/canyon/miniconda3/envs/mbwg/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
                main()
              File "/home/canyon/miniconda3/envs/mbwg/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 "/home/canyon/miniconda3/envs/mbwg/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 112, in get_requires_for_build_wheel
                backend = _build_backend()
                          ^^^^^^^^^^^^^^^^
              File "/home/canyon/miniconda3/envs/mbwg/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 "/home/canyon/miniconda3/envs/mbwg/lib/python3.12/importlib/__init__.py", line 90, in import_module
                return _bootstrap._gcd_import(name[level:], package, level)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File "<frozen importlib._bootstrap>", line 1381, in _gcd_import
              File "<frozen importlib._bootstrap>", line 1354, in _find_and_load
              File "<frozen importlib._bootstrap>", line 1304, in _find_and_load_unlocked
              File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
              File "<frozen importlib._bootstrap>", line 1381, in _gcd_import
              File "<frozen importlib._bootstrap>", line 1354, in _find_and_load
              File "<frozen importlib._bootstrap>", line 1325, in _find_and_load_unlocked
              File "<frozen importlib._bootstrap>", line 929, in _load_unlocked
              File "<frozen importlib._bootstrap_external>", line 994, in exec_module
              File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
              File "/tmp/pip-build-env-9adt6lg3/overlay/lib/python3.12/site-packages/setuptools/__init__.py", line 16, in <module>
                import setuptools.version
              File "/tmp/pip-build-env-9adt6lg3/overlay/lib/python3.12/site-packages/setuptools/version.py", line 1, in <module>
                import pkg_resources
              File "/tmp/pip-build-env-9adt6lg3/overlay/lib/python3.12/site-packages/pkg_resources/__init__.py", line 2172, 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
      
      × 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.
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

canyon289 avatar Jan 14 '24 16:01 canyon289

its only happening on python 3.12 I think. I just got pip installation is working on 3.11. Perhaps theres some way to preempt with a nicer warning message?

canyon289 avatar Jan 14 '24 16:01 canyon289

Note that 2.17.1 is from October. All subsequent versions explicitly require Python <3.12. I don't see any way to fix this unless we somehow modify all previous packages on PyPI to add this constraint, but that would alter the checksums.

I think the best way forward is:

  1. Keep trying to get 3.12 running (#488)
  2. In order to prevent similar problems in the future, add hard upper pins to everything and always test them before relaxing.

We release frequently enough that I believe 2. is viable.

maresb avatar Jan 14 '24 17:01 maresb

I opened #590 to track version bounds.

maresb avatar Jan 14 '24 17:01 maresb