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
Production
Paste the output of the steps above, including the commands themselves and
pip's output/traceback etc.
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
pip install --user --upgrade pip
p = $ (liste pip | awk 'NR> 2, ORS = "" {print $ 1;}')
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.
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.#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.
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
Commentaire le plus utile
@AnonGuy merci beaucoup 🙌🏼
-rpcio
avec un tiret posait le problème.