PyCQA / isort

A Python utility / library to sort imports.
https://pycqa.github.io/isort/
MIT License
6.53k stars 583 forks source link

isort 5.11.2 fails to install in pre-commit #2228

Open dmitry-kabanov opened 10 months ago

dmitry-kabanov commented 10 months ago

Hi, I am trying to install an isort hook to pre-commit with:

    - repo: https://github.com/pycqa/isort
      rev: 5.11.2
      hooks:
        - id: isort
          name: isort (python)

However, there is the following error:

[INFO] Installing environment for https://github.com/pycqa/isort.                                                                                                                      
[INFO] Once installed this environment will be reused.                                                                                                                                 
[INFO] This may take a few minutes...                                                                                                                                                  
An unexpected error has occurred: CalledProcessError: command: ('/home/dima/.cache/pre-commit/repok3fqpsa2/py_env-python3.12/bin/python', '-mpip', 'install', '.')                     
return code: 1                                                                                                                                                                         
stdout:                                                                                                                                                                                
    Processing /home/dima/.cache/pre-commit/repok3fqpsa2                                                                                                                               
      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 'done'                                                                                                                 
      Preparing metadata (pyproject.toml): started                                                                                                                                     
      Preparing metadata (pyproject.toml): finished with status 'error'                                                                                                                
stderr:                                                                                                                                                                                
      error: subprocess-exited-with-error                                                                                                                                              

      × Preparing metadata (pyproject.toml) did not run successfully.                                                                                                                  
      │ exit code: 1                                                                                                                                                                   
      ╰─> [17 lines of output]                                                                                                                                                         
          Traceback (most recent call last):                                                                                                                                           
            File "/home/dima/.cache/pre-commit/repok3fqpsa2/py_env-python3.12/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <modul
e>                                                                                                                                                                                     
              main()                                                                                                                                                                   
            File "/home/dima/.cache/pre-commit/repok3fqpsa2/py_env-python3.12/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/dima/.cache/pre-commit/repok3fqpsa2/py_env-python3.12/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 149, in prepare_metadata_for_build_wheel
              return hook(metadata_directory, config_settings)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            File "/tmp/pip-build-env-iigfnecd/overlay/lib/python3.12/site-packages/poetry/core/masonry/api.py", line 42, in prepare_metadata_for_build_wheel
              poetry = Factory().create_poetry(Path(".").resolve(), with_groups=False)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            File "/tmp/pip-build-env-iigfnecd/overlay/lib/python3.12/site-packages/poetry/core/factory.py", line 58, in create_poetry
              raise RuntimeError("The Poetry configuration is invalid:\n" + message)
          RuntimeError: The Poetry configuration is invalid:
            - data.extras.pipfile_deprecated_finder[2] must match pattern ^[a-zA-Z-_.0-9]+$

          [end of output]

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

    × Encountered error while generating package metadata.
    ╰─> See above for output.

    note: This is an issue with the package mentioned above, not pip.
    hint: See above for details.
bp72 commented 10 months ago

Hi @dmitry-kabanov! I was able to reproduce the issue with version 5.11.2. However, everything seems to be working fine with version 5.13.2. Can you please check if updating to 5.13.2 resolves the problem?

RobDBob commented 9 months ago

Had same issue as described. Updating revision from 5.11.2 to 5.13.2 did indeed help.

adamchainz commented 9 months ago

Duplicate of #2077.

dmitry-kabanov commented 9 months ago

Hi @bp72, I confirm, bumping the hook from 5.11.2 to 5.13.2 for isort helps. Everything works now!

I also wanted to update the isort docs, but apparently, the documentation was fixed on GitHub (it is 5.13.2 now), although the rendered docs are still using 5.11.2.