openapi-python-client icon indicating copy to clipboard operation
openapi-python-client copied to clipboard

black posthook throws `ImportError: cannot import name 'izip_longest' from 'pathspec.compat'`

Open LaurentBergeron opened this issue 2 years ago • 0 comments

Describe the bug During the black . post hook, openapi-python-client throws :

openapi-python-client update --url someurl.com/openapi.json

Updating my_project
Error(s) encountered while generating, client was not created
black failed
Traceback (most recent call last):
  File "C:\Users\x\AppData\Local\Programs\Python\Python39\lib\runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\x\AppData\Local\Programs\Python\Python39\lib\runpy.py", line 87, 
in _run_code
    exec(code, run_globals)
  File "C:\Users\x\code\my_project\venv\Scripts\black.exe\__main__.py", line 4, in <module>
  File "src\black\__init__.py", line 12, in <module>
  File "C:\Users\x\code\my_project\venv\lib\site-packages\pathspec\__init__.py", line 26, in <module>
    from .pathspec import PathSpec
  File "C:\Users\x\code\my_project\venv\lib\site-packages\pathspec\pathspec.py", line 27, in <module>
    from .compat import (
ImportError: cannot import name 'izip_longest' from 'pathspec.compat' (C:\Users\x\code\my_project\venv\lib\site-packages\pathspec\compat.py)

In a fresh environment, running black . on my own works originally. Then, running openapi-python-client update fails at the black step. Then, the strange thing is that this error persists when running black . on my own afterwards.

To Reproduce Steps to reproduce the behavior:

  1. Install dependencies as listed in Desktop section, using poetry
  2. Run openapi-python-client update
  3. See error during black post hook.

Expected behavior I expect the black . to complete without errors.

OpenAPI Spec File Unfortunately this is under NDA. However, the package is generated without issue, the problem comes from the black post hook.

Desktop (please complete the following information):

  • OS: Windows 10 Business 19044.1645

[tool.poetry.dependencies] python = "3.9" httpx = "0.22.0" attrs = "21.4.0" python-dateutil = "2.8.2" azure-identity = "1.10.0" exdir = "0.4.2"

[tool.poetry.dev-dependencies] flake8 = "4.0.1" mypy = "0.950" pytest = "7.1.2" black = "22.3.0" aiounittest = "1.4.1" openapi-python-client= "0.11.1"

LaurentBergeron avatar May 11 '22 18:05 LaurentBergeron