<p>Error de lista pip19.0.1 "AttributeError: _version"</p>

Creado en 24 ene. 2019  ·  32Comentarios  ·  Fuente: pypa/pip

Medio ambiente


Actualizo pip de 10.1 a 19.0.1, y quiero verificar mis paquetes de Python, ingresé "lista de pip" y luego ocurrieron dos errores.
Descripción

Comportamiento esperado

Excepción:
Rastreo (llamadas recientes más última):
Archivo "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py", línea 2584, en la versión
return self._version
Archivo "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py", línea 2691, en __getattr__
subir AttributeError (atributo)
AttributeError: _version

Durante el manejo de la excepción anterior, se produjo otra excepción:

Rastreo (llamadas recientes más última):
Archivo "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_internal/cli/base_command.py", línea 176, en main
status = self.run (opciones, argumentos)
Archivo "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_internal/commands/list.py", línea 148, en ejecución
self.output_package_listing (paquetes, opciones)
Archivo "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_internal/commands/list.py", línea 205, en output_package_listing
data, header = format_for_columns (paquetes, opciones)
Archivo "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_internal/commands/list.py", línea 271, en format_for_columns
fila = [proj.project_name, proj.version]
Archivo "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py", línea 2589, en la versión
aumentar ValueError (tmpl% self.PKG_INFO, self)
ValueError: ("Falta la 'Versión:' encabezado y / o archivo METADATA", Desconocido [versión desconocida] (/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages))
Cómo reproducir

  1. Obtener paquete de '...'
  2. Entonces corre '...'
  3. Ocurre un error.

Salida

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

Comentario más útil

Estos no se ven bien ...
./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 muchas gracias 🙌🏼
-rpcio con un guión estaba causando el problema ...

Todos 32 comentarios

Parece que hay metadatos completamente rotos en su instalación de Python: ¿puede intentar ejecutar pip en pdb y obtener el nombre / ubicación del proyecto, quizás la carpeta de metadatos para ver qué está arruinando las cosas?

@ zhouyu328 ¿Cuál es el resultado del siguiente comando?

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

así que he tenido el mismo problema, así que experimenté un poco y creo que esto podría ayudar:
edité:
~ / .local / lib / python3.6 / site-packages / pip / _vendor / pkg_resources / __ init__.py
y agregó justo antes de la línea 2589 una impresión para que se vea así
<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
el yo es un objeto lleno de datos Ninguno y Desconocido:
{'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'}

pero el _provider devuelve esto:
{'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'}

no tengo idea de por qué se imprime dos veces en ambos casos
lo verifiqué con
sudo apt install python3-grpcio
y lo tengo instalado

@ zhouyu328 ¿Cuál es el resultado del siguiente comando?

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

en mi ~ / .local / lib / python3.6 / site-packages, pero hay más carpetas que y muchas tienen el mismo nombre pero sin la 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

Estos no se ven bien ...

./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 ¿Esto soluciona su problema?

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 ¿Esto soluciona su problema?

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

sí, gracias, moví esos y también tuve que mover pip, pero parece que eso lo solucionó, ¿podría haber un error en pip para que los paquetes se coloquen en las carpetas incorrectas? porque nunca moví nada por ahí

@uranusjr ¿Sabe por qué los paquetes se instalan con un guión inicial? Vea el comentario anterior ( -rpcio lugar de grpcio ). Aquí hay otro ejemplo ( -onfigparser ): https://github.com/pypa/pip/issues/6169#issuecomment -457537807

Hmm, no, nada desde lo alto de mi cabeza. También intenté, pero no pude reproducir esto en varios entornos (Python 2.7 / 3.7, Mac / Windows, pip 19.0.0 / 19.0.1, venv / global). Este parece ser un problema muy específico: |

podría estar relacionado, uso este script para actualizar todos los paquetes de pip

! / bin / bash

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

pip install --user --upgrade pip
p = $ (lista de pips | awk 'NR> 2, ORS = "" {imprimir $ 1;}')

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

pip install --user --upgrade $ p

pero si estropeara los nombres de los paquetes, pip simplemente dejaría de decir paquete no encontrado
y usé la reinstalación forzada e ignorar los comandos instalados en múltiples paquetes tratando de arreglar el "error al importar main desde el paquete pip" cuando intento ejecutarlo como sudo.
aunque no hay problema para ejecutar pip desde el usuario root

También recibo algún error al usar pip freeze. Estoy usando Windows 10, Python 3.6.0 y la versión de pip es 19.0.1. Por favor echa un vistazo:

`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))`

Se agradecerá cualquier ayuda.

Un par de comentarios:

  • @zooba ¿Está relacionado con el # 6169 que estás arreglando? Consulte https://github.com/pypa/pip/issues/6194#issuecomment -457716967 [enlace solucionado] para conocer las rutas en las que se abre este problema. Observe en particular el "-" inicial en ( -rpcio-1.18.0.dist-info ).

  • pkg_resources probablemente debería incluir la ubicación de los METADATOS errantes (por ejemplo, la ruta al archivo) en el mensaje ValueError para facilitar la resolución de problemas. Quizás alguien pueda presentar un problema allí.

Creo que los directorios .dist-info anidados son el último problema en el que estoy trabajando en mi PR.

¿ pkg_resources permite el guión inicial en los nombres de los paquetes? Eso se soluciona fácilmente eliminándolo de la lista de caracteres "válidos / no válidos".

¿Pkg_resources permite guiones iniciales en los nombres de los paquetes?

Supuse que ese problema podría estar en el lado del pip (por ejemplo, pip decidiendo cuándo llamar a pkg_resources ). (También quise mencionar este punto en mi comentario anterior). O quizás incluso podrían ser ambos. De cualquier manera, es otra cosa a considerar como seguimiento a este problema.

Yo también recibo el error inicial mencionado por @ zhouyu328. En la inspección, los siguientes paquetes míos tienen un guión inicial introducido:

-_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

Yo también uso un script para actualizar todos los paquetes:
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

Agradecería información sobre cómo arreglar la configuración ahora rota (tengo miedo sobre todo de meterme con el directorio __pycache__ )

lo peor es que los terminales y el propio pip fallarán con paquetes que comiencen con un guión porque lo tratarán como un parámetro.
¿Podrían algunos de los parámetros dados con doble guión estar mal interpretados de modo que uno de ellos termine en el nombre del paquete?
también algunos paquetes se movieron dentro de su propio directorio por alguna razón
y para mí esto sucedió justo después de la actualización de pip 19 desde 18, si hay scripts que administran la actualización del entorno de pip de uno a otro, tal vez el problema podría estar ahí.

lo peor es que los terminales y el propio pip fallarán con paquetes que comiencen con un guión porque lo tratarán como un parámetro.

Ese es un punto muy bueno en el que no había pensado. Dejaré el guión como un posible personaje de reemplazo.

Tengo el mismo problema en mi mac. El pip original se instaló junto con python3 a través de brew install python3 y funciona bien. Después de intentar actualizar pip por pip3 install -U pip , los comandos de pip (lista de pip) comienzan a generar esas excepciones.
La discusión anterior me da una pista para verificar si existe un proyecto roto en mi carpeta de paquetes de sitio o no.

  • Como pip --version muestra 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) , entré en la carpeta e intenté encontrar algunas carpetas que comenzaran con '-' sin suerte.
  • Es frustrante que el mensaje de error no sea suficiente para localizar el problema exacto, así que decidí depurarlo para obtener detalles ..., aquí vamos:
#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

luego pip list salidas:

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

Me di cuenta de que pueden existir paquetes rotos en /Users/king/Library/Python/3.6/lib/python/site-packages y de hecho existe. Después de eliminar los paquetes rotos en esta carpeta, ¡pip vuelve a la vida!

Es frustrante que el mensaje de error no sea suficiente para localizar el problema exacto,

Sí, es por eso que dije anteriormente que un problema probablemente debería archivarse con pkg_resources .

Quizás alguien pueda presentar un problema allí.

Hizo eso: https://github.com/pypa/setuptools/issues/1664

Tuve el mismo problema, y ​​ejecuté el comando 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 para resolver el problema.

Sin embargo, ¿cuál es la verdadera razón del problema?

Sin embargo, ¿cuál es la verdadera razón del problema?

La causa raíz será resuelta por PR # 6225.

Estos no se ven bien ...
./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 muchas gracias 🙌🏼
-rpcio con un guión estaba causando el problema ...

Lo mismo para mí, un paquete con un guión fue el culpable.

Entonces, ¿cuándo se solucionará esto? ¿O cuál es la solución?

La causa de muchos de estos se solucionó en la versión 19.0.2, por lo que se cerró este problema. Sin embargo, es posible que las personas sigan experimentando este problema debido a que los directorios se corrompieron antes (o se corrompieron por una razón completamente diferente). Suscríbase al número 6283 para obtener un manejo más elegante de estos directorios y sugerencias sobre cómo eliminar un directorio dañado que pueda tener.

Se corrigió al eliminar una carpeta llamada -umpy-1.15.4.dist-info de site-packages .

Hola chicos,
Solo me gustaría señalar que también solucioné este problema después de eliminar una carpeta llamada -andas-0.23.0.dist-info de site-packages

Parece que algo salió mal durante la instalación / actualización del paquete pandas y esta carpeta -andas-0.23.0.dist-info es un sobrante después de un solucionador de problemas de pip _auto_.

Gracias a todos por la contribución 👍

@cjerdonek FYI Estoy

Para identificar los paquetes ofensivos, ejecuté lo siguiente dentro del directorio 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)

Luego eliminó los directorios ofensivos y reinstaló sus paquetes.

Para su información, setuptools acaba de hacer un lanzamiento (40.9.0) donde el mensaje de excepción ValueError ahora incluye la ruta al directorio específico que causa el problema: https://github.com/pypa/setuptools/pull/1706#issuecomment -479621881

Me di cuenta de que pueden existir paquetes rotos en /Users/king/Library/Python/3.6/lib/python/site-packages y de hecho existe. Después de eliminar los paquetes rotos en esta carpeta, ¡pip vuelve a la vida!

1. Elimino todos los archivos aquí,

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

2. y reinstale pip nuevamente,
$ cd ~ / software /
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python ./get-pip.py --user

3.Entonces todo está bien.
$ pip -V
pip 19.1.1 de /home/wangjl/.local/lib/python3.7/site-packages/pip (python 3.7)

lista de $ pip | cabeza
Versión del paquete


alabastro 0.7.11
anaconda-cliente 1.7.2
anaconda-navigator 1.9.2

¿Fue útil esta página
0 / 5 - 0 calificaciones