<p>Erreur de liste pip19.0.1 "AttributeError: _version"</p>

Créé le 24 janv. 2019  ·  32Commentaires  ·  Source: pypa/pip

Environnement


Je mets à jour pip de 10.1 à 19.0.1, et je veux vérifier mes paquets python, j'entre "pip list" puis deux erreurs se sont produites.
La description

Comportement prévisible

Exception:
Traceback (dernier appel le plus récent):
Fichier "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py", ligne 2584, dans la version
retourne self._version
Fichier "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py", ligne 2691, dans __getattr__
lever AttributeError (attr)
AttributeError: _version

Lors de la gestion de l'exception ci-dessus, une autre exception s'est produite:

Traceback (dernier appel le plus récent):
Fichier "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_internal/cli/base_command.py", ligne 176, en main
status = self.run (options, arguments)
Fichier "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_internal/commands/list.py", ligne 148, en cours d'exécution
self.output_package_listing (packages, options)
Fichier "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_internal/commands/list.py", ligne 205, dans output_package_listing
data, header = format_for_columns (packages, options)
Fichier "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_internal/commands/list.py", ligne 271, au format_for_columns
row = [proj.project_name, proj.version]
Fichier "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py", ligne 2589, dans la version
lever ValueError (tmpl% self.PKG_INFO, self)
ValueError: ("Missing 'Version:' header and / or METADATA file", Unknown [version inconnue] (/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages))
Comment reproduire

  1. Obtenir le package de '...'
  2. Ensuite, exécutez '...'
  3. Une erreur se produit.

Production

Paste the output of the steps above, including the commands themselves and
pip's output/traceback etc.
auto-locked bug

Commentaire le plus utile

Celles-ci ne semblent pas correctes ...
./pocketsphinx-0.1.3.dist-info/pocketsphinx-0.1.3.dist-info/METADATA
./-rpcio-1.18.0.dist-info/grpcio-1.18.0.dist-info/METADATA

@AnonGuy merci beaucoup 🙌🏼
-rpcio avec un tiret posait le problème.

Tous les 32 commentaires

il semble y avoir des métadonnées complètement cassées dans votre installation python - pouvez-vous essayer d'exécuter pip dans pdb et obtenir le nom / l'emplacement du projet, peut-être le dossier de métadonnées pour voir ce qui gâche les choses?

@ zhouyu328 Quelle est la sortie de la commande suivante?

find /usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/ -name METADATA

donc j'ai eu le même problème alors j'ai expérimenté un peu et je pense que cela pourrait aider:
j'ai édité:
~ / .local / lib / python3.6 / site-packages / pip / _vendor / pkg_resources / __ init__.py
et ajouté juste avant la ligne 2589 une impression pour qu'elle ressemble à ceci
<strong i="9">@property</strong> def version(self): try: return self._version except AttributeError: version = _version_from_file(self._get_metadata(self.PKG_INFO)) if version is None: print(self._provider.__dict__) #this tmpl = "Missing 'Version:' header and/or %s file" raise ValueError(tmpl % self.PKG_INFO, self) return version
le self est un objet rempli de données None et Unknown:
{'project_name': 'Unknown', 'py_version': None, 'platform': None, 'location': '~/.local/lib/python3.6/site-packages', 'precedence': -1, '_provider': <pip._vendor.pkg_resources.PathMetadata object at 0x7f0faa49d4e0>, '_key': 'unknown'} {'project_name': 'Unknown', 'py_version': None, 'platform': None, 'location': '~/.local/lib/python3.6/site-packages', 'precedence': -1, '_provider': <pip._vendor.pkg_resources.PathMetadata object at 0x7f0faa49d4e0>, '_key': 'unknown'}

mais le _provider renvoie ceci:
{'module_path': '~/.local/lib/python3.6/site-packages', 'egg_info': '~/.local/lib/python3.6/site-packages/-rpcio-1.18.0.dist-info'} {'module_path': '~/.local/lib/python3.6/site-packages', 'egg_info': '~/.local/lib/python3.6/site-packages/-rpcio-1.18.0.dist-info'}

aucune idée pourquoi il est imprimé deux fois dans les deux cas
j'ai vérifié avec
sudo apt installer python3-grpcio
et je l'ai installé

@ zhouyu328 Quelle est la sortie de la commande suivante?

find /usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/ -name METADATA

dans mon ~ / .local / lib / python3.6 / site-packages, mais il y a plus de dossiers que cela et beaucoup ont le même nom mais sans version.dist-info:

./pip-19.0.1.dist-info/METADATA
./lxml-4.3.0.dist-info/METADATA
./pickleshare-0.7.5.dist-info/METADATA
./asn1crypto-0.24.0.dist-info/METADATA
./keyrings.alt-3.1.1.dist-info/METADATA
./certifi-2018.10.15.dist-info/METADATA
./autopep8-1.4.3.dist-info/METADATA
./Pygments-2.3.1.dist-info/METADATA
./cligj-0.5.0.dist-info/METADATA
./jsonschema-2.6.0.dist-info/METADATA
./labelImg-1.8.1.dist-info/METADATA
./contextlib2-0.5.5.dist-info/METADATA
./pymacaroons-0.13.0.dist-info/METADATA
./six-1.10.0.dist-info/METADATA
./Glances-3.1.0.dist-info/METADATA
./cryptography-2.5.dist-info/METADATA
./mccabe-0.6.1.dist-info/METADATA
./jsoncomment-0.3.0.dist-info/METADATA
./ipykernel-5.1.0.dist-info/METADATA
./enum34-1.1.6.dist-info/METADATA
./docopt-0.6.2.dist-info/METADATA
./nbformat-4.4.0.dist-info/METADATA
./sympy-1.3.dist-info/METADATA
./cloudpickle-0.7.0.dist-info/METADATA
./pydocstyle-3.0.0.dist-info/METADATA
./wheel-0.32.3.dist-info/METADATA
./absl_py-0.7.0.dist-info/METADATA
./autokeras-0.3.6.dist-info/METADATA
./keyring-17.1.1.dist-info/METADATA
./grpcio_tools-1.10.1.dist-info/METADATA
./SecretStorage-3.1.1.dist-info/METADATA
./lws-1.2.dist-info/METADATA
./pyquery-1.4.0.dist-info/METADATA
./jeepney-0.4.dist-info/METADATA
./Keras_Preprocessing-1.0.2.dist-info/METADATA
./yarg-0.1.9.dist-info/METADATA
./blinker-1.4.dist-info/METADATA
./psutil-5.5.0.dist-info/METADATA
./libmagic-1.0.dist-info/METADATA
./h5py-2.9.0.dist-info/METADATA
./python_magic-0.4.15.dist-info/METADATA
./jupyter_console-6.0.0.dist-info/METADATA
./Click-7.0.dist-info/METADATA
./mistune-0.8.4.dist-info/METADATA
./pyflakes-2.0.0.dist-info/METADATA
./audioread-2.1.6.dist-info/METADATA
./inflect-2.1.0.dist-info/METADATA
./EbookLib-0.17.1.dist-info/METADATA
./networkx-2.2.dist-info/METADATA
./click_plugins-1.0.4.dist-info/METADATA
./grpcio-1.0.0.dist-info/METADATA
./unicode_slugify-0.1.3.dist-info/METADATA
./six-1.12.0.dist-info/METADATA
./scipy-1.2.0.dist-info/METADATA
./macaroonbakery-1.2.1.dist-info/METADATA
./tensorboard-1.12.0.dist-info/METADATA
./llvmlite-0.27.0.dist-info/METADATA
./qtconsole-4.4.3.dist-info/METADATA
./wcwidth-0.1.7.dist-info/METADATA
./requests-2.21.0.dist-info/METADATA
./ptyprocess-0.6.0.dist-info/METADATA
./pipreqs-0.4.9.dist-info/METADATA
./torchvision-0.2.1.dist-info/METADATA
./rope-0.11.0.dist-info/METADATA
./testpath-0.4.2.dist-info/METADATA
./pystache-0.5.4.dist-info/METADATA
./olefile-0.46.dist-info/METADATA
./Werkzeug-0.14.1.dist-info/METADATA
./defusedxml-0.5.0.dist-info/METADATA
./jupyter-1.0.0.dist-info/METADATA
./scikit_learn-0.20.2.dist-info/METADATA
./soupsieve-1.7.3.dist-info/METADATA
./pyRFC3339-1.1.dist-info/METADATA
./docker-3.7.0.dist-info/METADATA
./librosa-0.6.2.dist-info/METADATA
./cycler-0.10.0.dist-info/METADATA
./singledispatch-3.4.0.3.dist-info/METADATA
./python_language_server-0.22.0.dist-info/METADATA
./imageio-2.4.1.dist-info/METADATA
./influxdb-5.2.1.dist-info/METADATA
./pyflakes-2.1.0.dist-info/METADATA
./nbconvert-5.4.0.dist-info/METADATA
./backcall-0.1.0.dist-info/METADATA
./traitlets-4.3.2.dist-info/METADATA
./python_pptx-0.6.17.dist-info/METADATA
./bleach-3.1.0.dist-info/METADATA
./Keras-2.2.4.dist-info/METADATA
./cssselect-1.0.3.dist-info/METADATA
./joblib-0.13.1.dist-info/METADATA
./PyQt5_sip-4.19.13.dist-info/METADATA
./termcolor-1.1.0.dist-info/METADATA
./gast-0.2.2.dist-info/METADATA
./PyQt5-5.10.1.dist-info/METADATA
./argcomplete-1.9.4.dist-info/METADATA
./pluggy-0.8.1.dist-info/METADATA
./tensorboard-1.10.0.dist-info/METADATA
./urllib3-1.24.1.dist-info/METADATA
./Mako-1.0.7.dist-info/METADATA
./jupyter_core-4.4.0.dist-info/METADATA
./ipywidgets-7.4.2.dist-info/METADATA
./pyxdg-0.26.dist-info/METADATA
./simplejson-3.16.0.dist-info/METADATA
./Markdown-3.0.1.dist-info/METADATA
./tornado-5.1.1.dist-info/METADATA
./pandas-0.23.4.dist-info/METADATA
./louis-1.3.dist-info/METADATA
./pyinotify-0.9.6.dist-info/METADATA
./chardet-2.3.0.dist-info/METADATA
./netifaces-0.10.9.dist-info/METADATA
./yapf-0.25.0.dist-info/METADATA
./simplegeneric-0.8.1.dist-info/METADATA
./python_debian-0.1.34.dist-info/METADATA
./chardet-3.0.4.dist-info/METADATA
./httplib2-0.12.0.dist-info/METADATA
./python_jsonrpc_server-0.0.2.dist-info/METADATA
./widgetsnbextension-3.4.2.dist-info/METADATA
./prometheus_client-0.5.0.dist-info/METADATA
./sip-4.19.8.dist-info/METADATA
./mock-2.0.0.dist-info/METADATA
./pytesseract-0.2.5.dist-info/METADATA
./requests_file-1.4.3.dist-info/METADATA
./Keras_Preprocessing-1.0.5.dist-info/METADATA
./ipython-7.2.0.dist-info/METADATA
./lazr.uri-1.0.3.dist-info/METADATA
./requests_unixsocket-0.1.5.dist-info/METADATA
./notebook-5.7.4.dist-info/METADATA
./pytesseract-0.2.6.dist-info/METADATA
./Flask-1.0.2.dist-info/METADATA
./pycocotools-2.0.0.dist-info/METADATA
./pocketsphinx-0.1.15.dist-info/METADATA
./distro-1.3.0.dist-info/METADATA
./isort-4.3.4.dist-info/METADATA
./pysnmp-4.4.8.dist-info/METADATA
./pyparsing-2.3.1.dist-info/METADATA
./pycups-1.9.74.dist-info/METADATA
./PyJWT-1.7.1.dist-info/METADATA
./resampy-0.2.1.dist-info/METADATA
./xlrd-1.2.0.dist-info/METADATA
./snowballstemmer-1.2.1.dist-info/METADATA
./autopep8-1.4.2.dist-info/METADATA
./pycairo-1.18.0.dist-info/METADATA
./lazr.restfulclient-0.14.2.dist-info/METADATA
./tldextract-2.2.0.dist-info/METADATA
./snuggs-1.4.2.dist-info/METADATA
./launchpadlib-1.10.6.dist-info/METADATA
./jedi-0.13.2.dist-info/METADATA
./scour-0.37.dist-info/METADATA
./futures-3.1.1.dist-info/METADATA
./sshuttle-0.78.4.dist-info/METADATA
./Cython-0.29.3.dist-info/METADATA
./websocket_client-0.54.0.dist-info/METADATA
./SpeechRecognition-3.8.1.dist-info/METADATA
./GPUtil-1.4.0.dist-info/METADATA
./python_pptx-0.6.5.dist-info/METADATA
./configparser-3.5.0.dist-info/METADATA
./ply-3.11.dist-info/METADATA
./PyOpenGL-3.1.0.dist-info/METADATA
./pyzmq-17.1.2.dist-info/METADATA
./decorator-4.3.2.dist-info/METADATA
./pytz-2018.9.dist-info/METADATA
./binwalk-2.1.0.dist-info/METADATA
./PyYAML-3.13.dist-info/METADATA
./terminado-0.8.1.dist-info/METADATA
./python_jsonrpc_server-0.1.2.dist-info/METADATA
./torch-1.0.0.dist-info/METADATA
./pyqtgraph-0.10.0.dist-info/METADATA
./tensorflow-1.12.0.dist-info/METADATA
./prompt_toolkit-2.0.7.dist-info/METADATA
./cffi-1.11.5.dist-info/METADATA
./numpy-1.16.0.dist-info/METADATA
./youtube_dl-2019.1.24.dist-info/METADATA
./selenium-3.141.0.dist-info/METADATA
./wheel-0.32.2.dist-info/METADATA
./XlsxWriter-1.1.2.dist-info/METADATA
./pyparsing-2.3.0.dist-info/METADATA
./tensorflow-1.10.0.dist-info/METADATA
./Unidecode-1.0.23.dist-info/METADATA
./Jinja2-2.10.dist-info/METADATA
./bleach/_vendor/html5lib-1.0.1.dist-info/METADATA
./pbr-5.1.1.dist-info/METADATA
./textract-1.6.1.dist-info/METADATA
./docx2txt-0.7.dist-info/METADATA
./pysmi-0.3.3.dist-info/METADATA
./pocketsphinx-0.1.3.dist-info/pocketsphinx-0.1.3.dist-info/METADATA
./PyWavelets-1.0.1.dist-info/METADATA
./jupyter_client-5.2.4.dist-info/METADATA
./tqdm-4.29.1.dist-info/METADATA
./webencodings-0.5.1.dist-info/METADATA
./setuptools-40.6.3.dist-info/METADATA
./selenium_requests-1.3.dist-info/METADATA
./lightgbm-2.2.2.dist-info/METADATA
./oauthlib-3.0.1.dist-info/METADATA
./numba-0.42.0.dist-info/METADATA
./PyNaCl-1.3.0.dist-info/METADATA
./Keras_Applications-1.0.4.dist-info/METADATA
./defer-1.0.4.dist-info/METADATA
./xlrd-1.0.0.dist-info/METADATA
./ipython_genutils-0.2.0.dist-info/METADATA
./rasterio-1.0.10.dist-info/METADATA
./dask-1.1.0.dist-info/METADATA
./reportlab-3.5.13.dist-info/METADATA
./distro_info-0.0.0.dist-info/METADATA
./setuptools-39.1.0.dist-info/METADATA
./-rpcio-1.18.0.dist-info/grpcio-1.18.0.dist-info/METADATA
./rasterio-1.0.13.dist-info/METADATA
./MarkupSafe-1.1.0.dist-info/METADATA
./protobuf-3.6.1.dist-info/METADATA
./wadllib-1.3.3.dist-info/METADATA
./affine-2.2.2.dist-info/METADATA
./testresources-2.0.1.dist-info/METADATA
./future-0.17.1.dist-info/METADATA
./pyxattr-0.6.1.dist-info/METADATA
./docker_pycreds-0.4.0.dist-info/METADATA
./certifi-2018.11.29.dist-info/METADATA
./matplotlib-3.0.2.dist-info/METADATA
./beautifulsoup4-4.5.3.dist-info/METADATA
./mpmath-1.1.0.dist-info/METADATA
./Send2Trash-1.5.0.dist-info/METADATA
./itsdangerous-1.1.0.dist-info/METADATA
./Keras_Applications-1.0.6.dist-info/METADATA
./SpeechRecognition-3.6.3.dist-info/METADATA
./html5lib-1.0.1.dist-info/METADATA
./idna-2.8.dist-info/METADATA
./toolz-0.9.0.dist-info/METADATA
./pycparser-2.19.dist-info/METADATA
./kiwisolver-1.0.1.dist-info/METADATA
./entrypoints-0.3.dist-info/METADATA
./tensorboard-1.12.2.dist-info/METADATA
./pycodestyle-2.4.0.dist-info/METADATA
./astor-0.7.1.dist-info/METADATA
./pycryptodomex-3.7.3.dist-info/METADATA
./python_language_server-0.21.2.dist-info/METADATA
./PyGObject-3.30.4.dist-info/METADATA
./scikit_image-0.14.2.dist-info/METADATA
./pycrypto-2.6.1.dist-info/METADATA
./opencv_python-4.0.0.21.dist-info/METADATA
./bottle-0.12.16.dist-info/METADATA
./attrs-18.2.0.dist-info/METADATA
./pandocfilters-1.4.2.dist-info/METADATA
./pexpect-4.6.0.dist-info/METADATA
./pyasn1-0.4.5.dist-info/METADATA
./parso-0.3.2.dist-info/METADATA
./numpy-1.14.5.dist-info/METADATA
./nltk-3.4.dist-info/METADATA
./Pillow-5.4.1.dist-info/METADATA
./beautifulsoup4-4.7.1.dist-info/METADATA
./python_dateutil-2.7.5.dist-info/METADATA

Celles-ci ne semblent pas correctes ...

./pocketsphinx-0.1.3.dist-info/pocketsphinx-0.1.3.dist-info/METADATA
./-rpcio-1.18.0.dist-info/grpcio-1.18.0.dist-info/METADATA

@ 0000matteo0000 Est-ce que cela

mv pocketsphinx-0.1.3.dist-info p; mv p/pocketsphinx-0.1.3.dist-info .; rm -r p
mv -rpcio-1.18.0.dist-info r; mv r/grpcio-1.18.0.dist-info .; rm -r r

@ 0000matteo0000 Est-ce que cela

mv pocketsphinx-0.1.3.dist-info p; mv p/pocketsphinx-0.1.3.dist-info .; rm -r p
mv -rpcio-1.18.0.dist-info r; mv r/grpcio-1.18.0.dist-info .; rm -r r

oui merci, je les ai déplacés et j'ai dû également déplacer pip lui-même, mais cela a corrigé il semble, pourrait-il y avoir un bogue dans pip pour que les paquets soient placés dans les mauvais dossiers? parce que je n'ai jamais rien déplacé là-bas

@uranusjr Savez-vous pourquoi les packages peuvent être installés avec un trait d'union? Voir le commentaire ci-dessus ( -rpcio au lieu de grpcio ). Voici un autre exemple ( -onfigparser ): https://github.com/pypa/pip/issues/6169#issuecomment -457537807

Hmm, non, rien du haut de ma tête. J'ai également essayé, mais je n'ai pas réussi à le reproduire sur divers environnements (Python 2.7 / 3.7, Mac / Windows, pip 19.0.0 / 19.0.1, venv / global). Cela semble être un problème très spécifique: |

peut être lié, j'utilise ce script pour mettre à jour tous les packages pip

! / bin / bash

pip install --user --upgrade --force-reinstall --ignore-installed pip

pip install --user --upgrade pip
p = $ (liste pip | awk 'NR> 2, ORS = "" {print $ 1;}')

pip install --user --upgrade --force-reinstall --ignore-installed $ p

pip install --user --upgrade $ p

mais si les noms de paquet étaient mutilés, pip s'arrêterait simplement de dire que paquet n'a pas été trouvé
et a utilisé la réinstallation forcée et ignorer les commandes installées sur plusieurs packages en essayant de corriger le "échec d'importer le main du package pip" lorsque j'essaye de l'exécuter en tant que sudo.
pas de problème pour exécuter pip depuis l'utilisateur root

J'obtiens également une erreur lors de l'utilisation de pip freeze. J'utilise Windows 10, python 3.6.0 et la version pip est 19.0.1. S'il vous plaît, jetez un oeil:

`Error checking for conflicts.
Traceback (most recent call last):
  File "c:\users\rohit\appdata\local\programs\python\python36\lib\site-packages\pip\_vendor\pkg_resources\__init__.py", line 2584, in version
    return self._version
  File "c:\users\rohit\appdata\local\programs\python\python36\lib\site-packages\pip\_vendor\pkg_resources\__init__.py", line 2691, in __getattr__
    raise AttributeError(attr)
AttributeError: _version

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\users\rohit\appdata\local\programs\python\python36\lib\site-packages\pip\_internal\commands\install.py", line 503, in _warn_about_conflicts
    package_set, _dep_info = check_install_conflicts(to_install)
  File "c:\users\rohit\appdata\local\programs\python\python36\lib\site-packages\pip\_internal\operations\check.py", line 108, in check_install_conflicts
    package_set, _ = create_package_set_from_installed()
  File "c:\users\rohit\appdata\local\programs\python\python36\lib\site-packages\pip\_internal\operations\check.py", line 47, in create_package_set_from_installed
    package_set[name] = PackageDetails(dist.version, dist.requires())
  File "c:\users\rohit\appdata\local\programs\python\python36\lib\site-packages\pip\_vendor\pkg_resources\__init__.py", line 2589, in version
    raise ValueError(tmpl % self.PKG_INFO, self)
ValueError: ("Missing 'Version:' header and/or METADATA file", Unknown [unknown version] (c:\users\rohit\appdata\local\programs\python\python36\lib\site-packages))`

Toute aide serait appréciée.

Quelques commentaires:

  • @zooba Est-ce lié à # 6169 que vous corrigez? Voir https://github.com/pypa/pip/issues/6194#issuecomment -457716967 [lien corrigé] pour les chemins sur lesquels ce problème se produit. Remarquez en particulier le premier "-" dans ( -rpcio-1.18.0.dist-info ).

  • pkg_resources devrait probablement inclure l'emplacement du METADATA errant (par exemple le chemin du fichier) dans le message ValueError pour faciliter le dépannage. Peut-être que quelqu'un peut y déposer un problème.

Les répertoires imbriqués .dist-info sont, je pense, le dernier problème sur lequel je travaille dans mon PR.

Est-ce que pkg_resources autorise le premier trait d'union dans les noms de paquet? Cela est facilement résolu en le supprimant de la liste de caractères "valides / invalides".

Est-ce que pkg_resources autorise le premier tiret dans les noms de paquet?

J'imaginais que ce problème pouvait être du côté de pip (par exemple, pip décidant quand appeler pkg_resources ). (Je voulais aussi mentionner ce point dans mon commentaire précédent.) Ou peut-être que cela pourrait même être les deux peut-être. Quoi qu'il en soit, c'est une autre chose à examiner pour faire suite à ce problème.

Moi aussi, je reçois l'erreur initiale mentionnée par @ zhouyu328. Lors de l'inspection, les packages suivants ont un trait d'union introduit:

-_pycache__
-ecorator-4.3.0.dist-info
-ix-1.11.0.dist-info
-plotly_utils
-uartz
-ynput-1.3.10.dist-info
-ytz-2018.5.dist-info

Moi aussi, j'utilise un script pour mettre à jour tous les packages:
sudo -H /Users/sterlingbutters/anaconda3/bin/pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 /Users/sterlingbutters/anaconda3/bin/pip install -U

J'apprécierais des informations sur la correction de la configuration maintenant cassée (j'ai surtout peur de jouer avec le __pycache__ dir)

le pire, ce sont les terminaux et pip lui-même échouera avec les paquets commençant par un tiret car ils le traiteront comme un paramètre.
certains des paramètres donnés avec un double trait d'union pourraient-ils être mal interprétés de sorte que l'un d'eux se retrouve dans le nom du paquet?
aussi certains paquets ont été déplacés dans leur propre répertoire pour une raison quelconque
et pour moi, cela s'est produit juste après la mise à jour de pip 19 à partir de 18, s'il y a des scripts gérant la mise à jour de l'environnement de pip de l'un à l'autre peut-être que le problème pourrait résider là

le pire, ce sont les terminaux et pip lui-même échouera avec les paquets commençant par un tiret car ils le traiteront comme un paramètre.

C'est un très bon point auquel je n'avais pas pensé. Je vais laisser tomber le trait d'union comme caractère de remplacement potentiel.

J'ai le même problème dans mon mac. Le pip d'origine a été installé avec python3 via brew install python3 et fonctionne bien. Après avoir essayé de mettre à jour pip par pip3 install -U pip , les commandes pip (liste pip) commencent à lever ces exceptions.
La discussion ci-dessus me donne un indice pour vérifier si un projet cassé existe ou non dans mon dossier site-packages.

  • Puisque pip --version montre pip 19.0.1 from /usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pip (python 3.6) , je suis allé dans le dossier et j'ai essayé de trouver des dossiers commençant par '-' sans succès.
  • Il est frustrant que le message d'erreur ne soit pas suffisant pour localiser le problème exact, j'ai donc décidé de le déboguer pour obtenir des détails, .., allons-y:
#pip/_vendor/pkg_resources/__init__.py
    <strong i="14">@property</strong>
    def version(self):
        try:
            print('-'*50)
            print(self.project_name)
            print(self.location)
            print(self._version)
            # print(self.project_name, self._version, self.location)
            return self._version
        except AttributeError:
            version = _version_from_file(self._get_metadata(self.PKG_INFO))
            if version is None:
                print('Something wrong exists in:', self.project_name)
                tmpl = "Missing 'Version:' header and/or %s file"
                raise ValueError(tmpl % self.PKG_INFO, self)
            return version

puis pip list sorties:

. . .
--------------------------------------------------
Unknown
/Users/king/Library/Python/3.6/lib/python/site-packages
Something wrong exists in Unknown

J'ai réalisé que des paquets cassés peuvent exister dans /Users/king/Library/Python/3.6/lib/python/site-packages et c'est le cas en fait. Après avoir supprimé les paquets cassés de ce dossier, pip revient à la vie!

Il est frustrant que le message d'erreur ne soit pas suffisant pour localiser le problème exact,

Oui, c'est pourquoi j'ai dit ci - pkg_resources .

Peut-être que quelqu'un peut y déposer un problème.

Fait cela: https://github.com/pypa/setuptools/issues/1664

J'ai eu le même problème , et j'ai exécuté la commande mv /usr/lib/python2.7/site-packages/-br-1.10.0.dist-info /usr/lib/python2.7/site-packages/pbr-1.10.0.dist-info pour résoudre le problème.

Cependant, quelle est la vraie raison du problème?

Cependant, quelle est la vraie raison du problème?

La cause première sera résolue par le PR # 6225.

Celles-ci ne semblent pas correctes ...
./pocketsphinx-0.1.3.dist-info/pocketsphinx-0.1.3.dist-info/METADATA
./-rpcio-1.18.0.dist-info/grpcio-1.18.0.dist-info/METADATA

@AnonGuy merci beaucoup 🙌🏼
-rpcio avec un tiret posait le problème.

Même chose pour moi, un paquet avec un tiret était le coupable.

Alors, quand cela sera-t-il réglé? Ou quelle est la solution de contournement?

La cause de beaucoup de ces problèmes a été corrigée dans la version 19.0.2, c'est pourquoi ce problème a été résolu. Cependant, des utilisateurs peuvent toujours rencontrer ce problème en raison de répertoires qui ont été corrompus auparavant (ou qui ont été corrompus pour une raison complètement différente). Abonnez-vous au numéro 6283 pour une gestion plus gracieuse de ces répertoires et pour des suggestions sur la façon de supprimer un répertoire corrompu que vous pourriez avoir.

Correction en supprimant un dossier appelé -umpy-1.15.4.dist-info de site-packages .

Salut les gars,
Je voudrais juste souligner que j'ai également résolu ce problème après avoir supprimé un dossier appelé -andas-0.23.0.dist-info de site-packages

Il semble que quelque chose s'est mal passé lors de l'installation / mise à jour du paquet pandas et ce dossier -andas-0.23.0.dist-info est un reste après un dépanneur pip _auto_.

Merci à tous pour la contribution 👍

@cjerdonek FYI Je me désabonne des commentaires "moi aussi". Si vous avez besoin de moi ici, vous devrez me cingler.

Pour identifier les packages incriminés, j'ai exécuté ce qui suit dans le répertoire site-packages:

import os
import re
for roots, dirs, files in os.walk("."):
    if re.match(".*dist-info", roots):
        if "METADATA" not in files:
            print(roots)

Puis supprimé les répertoires incriminés et réinstallé leurs packages.

Pour info, setuptools vient de créer une version (40.9.0) où le message d'exception ValueError inclut désormais le chemin vers le répertoire spécifique à l'origine du problème: https://github.com/pypa/setuptools/pull/1706#issuecomment -479621881

J'ai réalisé que des paquets cassés pouvaient exister dans /Users/king/Library/Python/3.6/lib/python/site-packages et c'est le cas en fait. Après avoir supprimé les paquets cassés de ce dossier, pip revient à la vie!

1.Je supprime tous les fichiers ici,

$ pwd
/home/wangjl/.local/lib/python3.7/site-packages
$ rm -Rf ./*

2. et réinstallez pip,
$ cd ~ / logiciel /
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python ./get-pip.py --utilisateur

3. alors tout va bien.
$ pip -V
pip 19.1.1 de /home/wangjl/.local/lib/python3.7/site-packages/pip (python 3.7)

$ pip liste | tête
Version du package


albâtre 0.7.11
anaconda-client 1.7.2
anaconda-navigator 1.9.2

Cette page vous a été utile?
0 / 5 - 0 notes