openapi-generators / openapi-generators/openapi-python-client

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

Ouverte
#613 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

🐞bug
Langage dominant
Python
Étoiles
2k
Forks
293
Merge moyen
34 min
PR mergées (30 j)
1

Description

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"

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par reproduire l’environnement Poetry à partir des dépendances Python 3.9 indiquées et exécutez openapi-python-client update, puis black .. Examinez la résolution des dépendances et l’échec d’importation de Black/pathspec ; c’est terminé lorsque le hook postérieur et le black . autonome qui suit s’achèvent sans erreur.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
openapi, python
Domaine
tooling
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.