Skip to content

Installation fails with Python >= 3.12 #20

@samuelchodur

Description

@samuelchodur

Installation with $ pip install redvox is failing when Python >= 3.12 is used. Seems to be something to do with changes to importlib (Python 3.12 Release Notes). Not sure if this is a problem with redvox or a dependency.

Let me know if I can provide any other info. Haven't been able to test on an operating system other than Windows.

Operating System: Windows

Python 3.11.7

$ python --version
Python 3.11.7
$ pip install redvox
...
Successfully installed MarkupSafe-2.1.5 casefy-0.1.7 certifi-2024.2.2 charset-normalizer-3.3.2 cython-0.29.34 dataclasses-json-0.5.7 fastkml-0.12 idna-3.6 jinja2-3.1.3 lxml-4.9.3 lz4-4.3.2 marshmallow-3.20.2 marshmallow-enum-1.5.1 mypy-extensions-1.0.0 numpy-1.23.5 packaging-23.2 pandas-2.0.1 protobuf-4.22.3 psutil-5.9.5 pyarrow-14.0.1 pygeoif-0.7 pyserde-0.10.4 python-dateutil-2.8.2 pytz-2024.1 redvox-3.8.2 requests-2.28.2 scipy-1.10.1 six-1.16.0 toml-0.10.2 tomli-2.0.1 tomli-w-1.0.0 typing-extensions-4.9.0 typing-inspect-0.9.0 tzdata-2023.4 urllib3-1.26.18 websocket-client-1.5.1

Python 3.12.1

$ python --version
Python 3.12.1
$ pip install redvox
...
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
  ╰─> [33 lines of output]
      Traceback (most recent call last):
        File "C:\Users\Username\miniconda3\envs\redvox-test\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module>
          main()
        File "C:\Users\Username\miniconda3\envs\redvox-test\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\Username\miniconda3\envs\redvox-test\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 112, in get_requires_for_build_wheel
          backend = _build_backend()
                    ^^^^^^^^^^^^^^^^
        File "C:\Users\Username\miniconda3\envs\redvox-test\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 77, in _build_backend    
          obj = import_module(mod_path)
                ^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\Username\miniconda3\envs\redvox-test\Lib\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 994, in exec_module      
        File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed 
        File "C:\Users\Username\AppData\Local\Temp\1\pip-build-env-73yzusxz\overlay\Lib\site-packages\setuptools\__init__.py", line 16, in <module>
          import setuptools.version
        File "C:\Users\Username\AppData\Local\Temp\1\pip-build-env-73yzusxz\overlay\Lib\site-packages\setuptools\version.py", line 1, in <module>
          import pkg_resources
        File "C:\Users\Username\AppData\Local\Temp\1\pip-build-env-73yzusxz\overlay\Lib\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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions