<p>pip19.0.1 Listenfehler "AttributeError: _version"</p>

Erstellt am 24. Jan. 2019  ·  32Kommentare  ·  Quelle: pypa/pip

Umgebung


Ich aktualisiere pip von 10.1 auf 19.0.1 und möchte meine Python-Pakete überprüfen. Ich gebe "pip list" ein, dann sind zwei Fehler aufgetreten.
Beschreibung

Erwartetes Verhalten

Ausnahme:
Traceback (letzter Anruf zuletzt):
Datei "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py", Zeile 2584, in Version
return self._version
Datei "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py", Zeile 2691, in __getattr__
Erhöhen Sie AttributeError (attr)
AttributeError: _version

Während der Behandlung der obigen Ausnahme ist eine weitere Ausnahme aufgetreten:

Traceback (letzter Anruf zuletzt):
Datei "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_internal/cli/base_command.py", Zeile 176, in main
status = self.run (Optionen, Argumente)
Datei "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_internal/commands/list.py", Zeile 148, in Ausführung
self.output_package_listing (Pakete, Optionen)
Datei "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_internal/commands/list.py", Zeile 205, in output_package_listing
data, header = format_for_columns (Pakete, Optionen)
Datei "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_internal/commands/list.py", Zeile 271, im Format_for_columns
row = [proj.project_name, proj.version]
Datei "/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py", Zeile 2589, in Version
Erhöhen Sie ValueError (tmpl% self.PKG_INFO, self)
ValueError: ("Fehlende 'Version:' Header und / oder METADATA-Datei", Unbekannt [unbekannte Version] (/usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages))
Wie zu reproduzieren

  1. Holen Sie sich das Paket von '...'
  2. Dann renne '...'
  3. Ein Fehler tritt auf.

Ausgabe

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

Hilfreichster Kommentar

Diese sehen nicht richtig aus ...
./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 mit einem Bindestrich machte das Problem ..

Alle 32 Kommentare

Ihre Python-Installation scheint vollständig fehlerhafte Metadaten zu enthalten. Können Sie versuchen, pip in pdb auszuführen und den Projektnamen / -speicherort abzurufen, möglicherweise den Metadatenordner, um zu sehen, was die Dinge durcheinander bringt?

@ zhouyu328 Was ist die Ausgabe des folgenden Befehls?

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

Ich hatte also das gleiche Problem, also habe ich ein bisschen experimentiert und ich denke, das könnte helfen:
Ich habe bearbeitet:
~ / .local / lib / python3.6 / site-packages / pip / _vendor / pkg_resources / __ init__.py
und fügte kurz vor Zeile 2589 einen Druck hinzu, damit es so aussieht
<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
Das Selbst ist ein Objekt, das mit den Daten Keine und Unbekannt gefüllt ist:
{'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'}

Der _provider gibt jedoch Folgendes zurück:
{'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'}

Keine Ahnung, warum es in beiden Fällen zweimal gedruckt wird
Ich habe mit überprüft
sudo apt install python3-grpcio
und ich habe es installiert

@ zhouyu328 Was ist die Ausgabe des folgenden Befehls?

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

in meinen ~ / .local / lib / python3.6 / site-Paketen, aber es gibt mehr Ordner als diese und viele haben den gleichen Namen, aber ohne die 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
./Pylements-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
./Klicken Sie auf -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

Diese sehen nicht richtig aus ...

./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 Behebt dies Ihr Problem?

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 Behebt dies Ihr Problem?

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

yup danke, ich habe diese verschoben und ich musste auch pip selbst verschieben, aber das hat es anscheinend behoben. Könnte es einen Fehler in pip geben, so dass Pakete in den falschen Ordnern abgelegt werden? weil ich dort nie etwas bewegt habe

@uranusjr Wissen Sie, warum Pakete möglicherweise mit einem führenden Bindestrich installiert werden? Siehe den obigen Kommentar ( -rpcio anstelle von grpcio ). Hier ist ein weiteres Beispiel ( -onfigparser ): https://github.com/pypa/pip/issues/6169#issuecomment -457537807

Hmm, nein, nichts von oben. Ich habe auch versucht, dies jedoch in verschiedenen Umgebungen nicht zu reproduzieren (Python 2.7 / 3.7, Mac / Windows, Pip 19.0.0 / 19.0.1, venv / global). Dies scheint ein sehr spezifisches Problem zu sein: |

Möglicherweise verwandt, verwende ich dieses Skript, um alle Pip-Pakete zu aktualisieren

! / bin / bash

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

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

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

pip install --user --upgrade $ p

aber wenn es Paketnamen entstellt, würde pip einfach aufhören zu sagen, Paket nicht gefunden
und benutzte die erzwungene Neuinstallation und ignorierte installierte Befehle auf mehreren Paketen, um zu versuchen, das Problem zu beheben, dass "main from package pip nicht importiert werden konnte", wenn ich versuche, es als sudo auszuführen.
Kein Problem beim Ausführen von pip vom Root-Benutzer

Ich bekomme auch einen Fehler beim Pip Freeze. Ich benutze Windows 10, Python 3.6.0 und Pip-Version ist 19.0.1. Bitte sehen Sie sich das an:

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

Jede Hilfe wird geschätzt.

Ein paar Kommentare:

  • @zooba Bezieht sich das auf # 6169, das Sie reparieren? Unter https://github.com/pypa/pip/issues/6194#issuecomment -457716967 [Link behoben] finden Sie die Pfade, auf denen dieses Problem auftritt. Beachten Sie insbesondere das führende "-" in ( -rpcio-1.18.0.dist-info ).

  • pkg_resources sollte wahrscheinlich den Speicherort der fehlerhaften METADATA (z. B. den Pfad zur Datei) in die Nachricht ValueError , um die Fehlerbehebung zu vereinfachen. Vielleicht kann dort jemand ein Problem einreichen.

Das verschachtelte .dist-info-Verzeichnis ist meiner Meinung nach das letzte Problem, an dem ich in meiner PR arbeite.

Erlaubt pkg_resources einen führenden Bindestrich in Paketnamen? Dies lässt sich leicht beheben, indem Sie es aus der Liste der "gültigen / ungültigen" Zeichen entfernen.

Erlaubt pkg_resources einen führenden Bindestrich in Paketnamen?

Ich vermutete, dass das Problem auf der Pip-Seite liegen könnte (z. B. bei der Entscheidung, wann pkg_resources aufgerufen werden soll). (Ich wollte diesen Punkt auch in meinem vorherigen Kommentar erwähnen.) Oder vielleicht könnte es sogar beides sein. In jedem Fall ist es eine andere Sache, die als Folge dieses Problems betrachtet werden muss.

Ich erhalte auch den anfänglichen Fehler, der von @ zhouyu328 erwähnt wird. Bei der Inspektion haben die folgenden Pakete von mir einen führenden Bindestrich eingeführt:

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

Ich verwende auch ein Skript, um alle Pakete zu aktualisieren:
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

Würde mich über Informationen zum Beheben der jetzt defekten Konfiguration freuen (ich habe hauptsächlich Angst, mich mit dem __pycache__ dir zu beschäftigen)

Das Schlimmste ist, dass Terminals und Pip selbst bei Paketen, die mit einem Bindestrich beginnen, fehlschlagen, weil sie ihn als Parameter behandeln.
Könnten einige der mit einem doppelten Bindestrich angegebenen Parameter schlecht interpretiert werden, sodass einer von ihnen im Paketnamen landet?
Außerdem wurden einige Pakete aus irgendeinem Grund in ihr eigenes Verzeichnis verschoben
und für mich geschah dies kurz nach dem Update auf Pip 19 von 18, wenn es Skripte gibt, die das Update der Pip-Umgebung von einem zum anderen verwalten, könnte das Problem möglicherweise dort liegen

Das Schlimmste ist, dass Terminals und Pip selbst bei Paketen, die mit einem Bindestrich beginnen, fehlschlagen, weil sie ihn als Parameter behandeln.

Das ist ein sehr guter Punkt, an den ich nicht gedacht hatte. Ich werde den Bindestrich als möglichen Ersatzcharakter fallen lassen.

Ich habe das gleiche Problem in meinem Mac. Der ursprüngliche Pip wurde zusammen mit Python3 über brew install python3 installiert und funktioniert gut. Nachdem ich versucht habe, pip um pip3 install -U pip zu aktualisieren, lösen pip-Befehle (Pip-Liste) diese Ausnahmen aus.
Die obige Diskussion gibt mir einen Hinweis, um zu überprüfen, ob ein defektes Projekt in meinem Site-Packets-Ordner vorhanden ist oder nicht.

  • Da 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 --version anzeigt, ging ich in den Ordner und versuchte ohne Glück, einige Ordner zu finden, die mit '-' beginnen.
  • Es ist frustrierend, dass die Fehlermeldung nicht ausreicht, um das genaue Problem zu lokalisieren. Deshalb habe ich beschlossen, sie zu debuggen, um Details zu erhalten.
#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

dann gibt pip list :

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

Ich erkannte, dass defekte Pakete in /Users/king/Library/Python/3.6/lib/python/site-packages und das tut es tatsächlich. Nachdem ich kaputte Pakete in diesem Ordner entfernt habe, wird pip wieder lebendig!

Es ist frustrierend, dass die Fehlermeldung nicht ausreicht, um das genaue Problem zu lokalisieren.

Ja, aus diesem Grund habe ich oben gesagt, dass ein Problem wahrscheinlich mit pkg_resources eingereicht werden sollte.

Vielleicht kann dort jemand ein Problem einreichen.

Haben Sie das getan: https://github.com/pypa/setuptools/issues/1664

Ich hatte das gleiche Problem , und führte den Befehl 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 , um das Problem zu lösen.

Was ist jedoch der wahre Grund für das Problem?

Was ist jedoch der wahre Grund für das Problem?

Die Grundursache wird durch PR # 6225 behoben.

Diese sehen nicht richtig aus ...
./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 mit einem Bindestrich machte das Problem ..

Das gleiche für mich war ein Paket mit einem Strich der Schuldige.

Wann wird dies behoben? Oder was ist die Problemumgehung?

Die Ursache für viele dieser Probleme wurde in Version 19.0.2 behoben, weshalb dieses Problem geschlossen wurde. Möglicherweise tritt dieses Problem jedoch immer noch aufgrund von Verzeichnissen auf, die zuvor beschädigt wurden (oder aus einem ganz anderen Grund beschädigt wurden). Abonnieren Sie die Ausgabe Nr. 6283, um einen besseren Umgang mit diesen Verzeichnissen und Vorschläge zum Entfernen eines beschädigten Verzeichnisses zu erhalten.

Behoben durch Entfernen eines Ordners namens -umpy-1.15.4.dist-info aus site-packages .

Hallo Leute,
Ich möchte nur darauf hinweisen, dass ich dieses Problem auch behoben habe, nachdem ich einen Ordner namens -andas-0.23.0.dist-info aus Site-Paketen entfernt habe

Es scheint, dass während der Installation / Aktualisierung des Pandas-Pakets ein Fehler aufgetreten ist, und dieser Ordner

Vielen Dank für den Beitrag 👍

@cjerdonek FYI Ich

Um fehlerhafte Pakete zu identifizieren, habe ich Folgendes im Verzeichnis site-packages ausgeführt:

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

Entfernen Sie dann die fehlerhaften Verzeichnisse und installieren Sie ihre Pakete neu.

Zu Ihrer Information, setuptools hat gerade eine Version (40.9.0) veröffentlicht, in der die ValueError-Ausnahmemeldung jetzt den Pfad zu dem spezifischen Verzeichnis enthält, das das Problem verursacht: https://github.com/pypa/setuptools/pull/1706#issuecomment -479621881

Ich erkannte, dass defekte Pakete in /Users/king/Library/Python/3.6/lib/python/site-packages und das tut es tatsächlich. Nachdem ich kaputte Pakete in diesem Ordner entfernt habe, wird pip wieder lebendig!

1.Ich entferne hier alle Dateien,

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

2.und installieren Sie pip erneut,
$ cd ~ / software /
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python ./get-pip.py --user

3. Dann ist alles in Ordnung.
$ pip -V
pip 19.1.1 von /home/wangjl/.local/lib/python3.7/site-packages/pip (Python 3.7)

$ pip list | head
Paketversion


Alabaster 0.7.11
anaconda-client 1.7.2
Anakonda-Navigator 1.9.2

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen