<p>Ошибка списка pip19.0.1 "AttributeError: _version"</p>

Созданный на 24 янв. 2019  ·  32Комментарии  ·  Источник: pypa/pip

Окружающая обстановка


Я обновляю pip с 10.1 до 19.0.1, и я хочу проверить свои пакеты python, я ввожу «pip list», после чего возникли две ошибки.
Описание

Ожидаемое поведение

Исключение:
Отслеживание (последний вызов последний):
Файл "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py", строка 2584, в версии
вернуть self._version
Файл "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py", строка 2691, в __getattr__
поднять AttributeError (attr)
AttributeError: _version

Во время обработки вышеуказанного исключения произошло другое исключение:

Отслеживание (последний вызов последний):
Файл "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_internal/cli/base_command.py", строка 176, в основном
status = self.run (параметры, аргументы)
Файл "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_internal/commands/list.py", строка 148, выполняется
self.output_package_listing (пакеты, опции)
Файл "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_internal/commands/list.py", строка 205, в output_package_listing
data, header = format_for_columns (пакеты, опции)
Файл "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_internal/commands/list.py", строка 271, в формате format_for_columns
row = [proj.project_name, proj.version]
Файл "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py", строка 2589, в версии
поднять ValueError (tmpl% self.PKG_INFO, self)
ValueError: («Отсутствует заголовок« Версия: »и / или файл МЕТАДАННЫХ», Неизвестно [неизвестная версия] (/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages))
Как размножаться

  1. Получить посылку от "..."
  2. Затем запустите "..."
  3. Произошла ошибка.

Вывод

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

Самый полезный комментарий

Это выглядит неправильно ...
./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 большое спасибо 🙌🏼
-rpcio с тире создавал проблему ..

Все 32 Комментарий

кажется, что в вашей установке python полностью повреждены метаданные - можете ли вы попробовать запустить pip в pdb и получить имя / местоположение проекта, возможно, папку метаданных, чтобы увидеть, что испортилось?

@ zhouyu328 Что

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

Итак, у меня был такой же пробник, поэтому я немного поэкспериментировал и думаю, что это может помочь:
я редактировал:
~ / .local / lib / python3.6 / site-packages / pip / _vendor / pkg_resources / __ init__.py
и добавил прямо перед строкой 2589 печать, чтобы она выглядела так
<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
self - это объект, заполненный данными None и 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'}

но _provider возвращает это:
{'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'}

не знаю, почему он напечатан дважды в обоих случаях
я проверил с
sudo apt установить python3-grpcio
и я установил это

@ zhouyu328 Что

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

в моих ~ / .local / lib / python3.6 / site-packages, но там больше папок, и многие из них имеют такое же имя, но без 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

Это выглядит неправильно ...

./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 Устраняет ли это вашу проблему?

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 Устраняет ли это вашу проблему?

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

да, спасибо, я переместил их, и мне также пришлось переместить сам pip, но это исправило его, кажется, может быть ошибка в pip, чтобы пакеты помещались в неправильные папки? потому что я никогда ничего не перемещал там

@uranusjr Знаете ли вы, почему пакеты могут устанавливаться с дефисом в -rpcio вместо grpcio ). Вот еще один пример ( -onfigparser ): https://github.com/pypa/pip/issues/6169#issuecomment -457537807

Хм, нет, ничего из моей головы. Я также пробовал, но не смог воспроизвести это в различных средах (Python 2.7 / 3.7, Mac / Windows, pip 19.0.0 / 19.0.1, venv / global). Кажется, это очень специфическая проблема: |

может быть связано, я использую этот скрипт для обновления всех пакетов pip

! / bin / bash

pip install --user --upgrade --force-переустановить --ignore-installed pip

pip install --user --upgrade pip
p = $ (список пунктов | awk 'NR> 2, ORS = "" {print $ 1;}')

pip install --user --upgrade --force-переустановить --ignore-installed $ p

pip install --user --upgrade $ p

но если бы он исказил имена пакетов, pip просто перестал бы говорить, что пакет не найден
и использовал принудительную переустановку и игнорирование установленных команд в нескольких пакетах, пытаясь исправить «не удалось импортировать основной пакет из пакета», когда я пытаюсь запустить его как sudo.
нет проблем с запуском pip от пользователя root, хотя

Я также получаю некоторую ошибку при использовании pip freeze. Я использую Windows 10, python 3.6.0, а версия pip - 19.0.1. Пожалуйста, взгляните:

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

Любая помощь будет оценена по достоинству.

Пара комментариев:

  • @zooba Это связано с # 6169, который вы исправляете? См. Https://github.com/pypa/pip/issues/6194#issuecomment -457716967 [ссылка исправлена], чтобы узнать о путях, на которых возникает эта проблема. Обратите внимание, в частности, на начальный знак "-" в ( -rpcio-1.18.0.dist-info ).

  • pkg_resources вероятно, следует включать местоположение ошибочных МЕТАДАННЫХ (например, путь к файлу) в сообщение ValueError чтобы упростить устранение неполадок. Может быть, кто-нибудь сможет записать туда вопрос

Вложенные каталоги .dist-info - это, я думаю, последняя проблема, над которой я работаю в своем PR.

Допускает ли pkg_resources дефис в начале имени пакета? Это легко исправить, удалив его из списка «допустимых / недействительных» символов.

Допускает ли pkg_resources дефис в начале имени пакета?

Я предполагал, что эта проблема может быть на стороне пункта (например, пункт решает, когда вызывать pkg_resources ). (Я также хотел упомянуть этот момент в своем предыдущем комментарии.) Или, может быть, это может быть и то, и другое. В любом случае, это другое дело, на которое стоит обратить внимание как на продолжение этой проблемы.

Я тоже получаю начальную ошибку, упомянутую @ zhouyu328. При осмотре следующие мои упаковки имеют дефис в начале:

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

Я тоже использую скрипт для обновления всех пакетов:
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

Был бы признателен за информацию об исправлении теперь сломанной конфигурации (в основном я боюсь возиться с __pycache__ dir)

Хуже всего то, что терминалы и сам pip не сработают с пакетами, начинающимися с дефиса, потому что они будут рассматривать его как параметр.
Могут ли некоторые параметры, указанные с двойным дефисом, неправильно интерпретироваться, так что один из них попадает в имя пакета?
также некоторые пакеты по какой-то причине были перемещены в свой собственный каталог
и для меня это произошло сразу после обновления до pip 19 из 18, если есть скрипты, управляющие обновлением среды pip от одного до другого, возможно, проблема может быть там

Хуже всего то, что терминалы и сам pip не сработают с пакетами, начинающимися с дефиса, потому что они будут рассматривать его как параметр.

Это очень хороший момент, о котором я не подумал. Я опущу дефис как потенциальный заменяющий символ.

У меня такая же проблема на моем Mac. Исходный пип был установлен вместе с python3 через brew install python3 и работает хорошо. После того, как я попытался обновить pip на pip3 install -U pip , команды pip (список pip) начинают вызывать эти исключения.
Приведенное выше обсуждение дает мне подсказку, чтобы проверить, существует ли сломанный проект в папке моих пакетов сайта или нет.

  • Поскольку pip --version показывает 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) , я вошел в папку и попытался найти несколько папок, начинающихся с '-', но безуспешно.
  • Разочаровывает то, что сообщения об ошибке недостаточно, чтобы определить точную проблему, поэтому я решил отладить его, чтобы получить подробности, .., вот и мы:
#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

затем pip list выводит:

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

Я понял, что сломанные пакеты могут существовать в /Users/king/Library/Python/3.6/lib/python/site-packages и это действительно так. После того, как я удалю сломанные пакеты в этой папке, pip оживает!

Разочаровывает, что сообщения об ошибке недостаточно, чтобы определить точную проблему,

Да, поэтому я сказал выше, что проблема, вероятно, должна быть отправлена ​​с помощью pkg_resources .

Может быть, кто-нибудь сможет записать туда вопрос

Сделал это: https://github.com/pypa/setuptools/issues/1664

У меня была такая же проблема , и я запустил команду 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 чтобы решить проблему.

Однако в чем настоящая причина проблемы?

Однако в чем настоящая причина проблемы?

Основная причина будет устранена PR # 6225.

Это выглядит неправильно ...
./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 большое спасибо 🙌🏼
-rpcio с тире создавал проблему ..

У меня же виноват пакет с тире.

Итак, когда это будет исправлено? Или какой обходной путь?

Причина многих из них была исправлена ​​в версии 19.0.2, поэтому проблема была закрыта. Однако люди могут по-прежнему испытывать эту проблему из-за каталогов, которые были повреждены ранее (или были повреждены по совершенно другой причине). Подпишитесь на выпуск № 6283 для более изящной обработки этих каталогов и предложений по удалению поврежденного каталога, который у вас может быть.

Исправлено удалением папки с именем -umpy-1.15.4.dist-info из site-packages .

Привет, ребята,
Я просто хотел бы отметить, что я также исправил эту проблему после удаления папки с именем -andas-0.23.0.dist-info из пакетов сайта.

Кажется, что-то пошло не так во время установки / обновления пакета pandas, и эта папка -andas-0.23.0.dist-info - это остаток после средства устранения неполадок pip _auto_.

Спасибо всем за вклад 👍

@cjerdonek К вашему сведению, я отписываюсь от комментариев "я тоже". Если я понадоблюсь тебе здесь, тебе придется пинговать меня.

Чтобы определить вредоносные пакеты, я запустил в каталоге 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)

Затем удалил проблемные каталоги и переустановил их пакеты.

FYI, setuptools только что выпустили выпуск (40.9.0), в котором сообщение об исключении ValueError теперь включает путь к конкретному каталогу, вызывающему проблему: https://github.com/pypa/setuptools/pull/1706#issuecomment -479621881

Я понял, что сломанные пакеты могут существовать в /Users/king/Library/Python/3.6/lib/python/site-packages и это действительно так. После того, как я удалю сломанные пакеты в этой папке, pip оживает!

1. Я удаляю здесь все файлы,

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

2. и снова переустановите pip,
$ cd ~ / программное обеспечение /
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python ./get-pip.py --user

3. тогда все нормально.
$ pip -V
pip 19.1.1 из /home/wangjl/.local/lib/python3.7/site-packages/pip (python 3.7)

$ pip list | head
Версия пакета


алебастр 0.7.11
анаконда-клиент 1.7.2
анаконда-навигатор 1.9.2

Была ли эта страница полезной?
0 / 5 - 0 рейтинги