Update - Wert von sys.path

Update - Wert von sys.path

Ich versuche, die verschiedenen Python-Installationen auf meinem MacBook Pro (macOS 10.13.4) zu bereinigen, indem ich alles außer dem ursprünglichen System-Python (2.7.2 für die aktuelle Version von macOS) entferne. Ich hatte zu einem oder anderen Zeitpunkt Installationen von python.org, macports und homebrew und ich glaube, ich konnte alles löschen, was diese Installationen berührten, aber mein System-Python schreit mich immer noch an, wenn ich versuche, ein Modul zu installieren.

Nachdem ich die Homebrew-Python- und Pip-Installationen entfernt und alte Ordner aus der Macports-Installation gelöscht hatte, aktualisierte ich mein ~/.bash_profile, sodass es nur meine .bashrc-Konfiguration und die iTerm2-Dienstprogramme enthielt. Anschließend installierte ich PIP für das System-Python mit easy_install. Wenn ich jedoch versuche, ein Paket zu installieren, z. B. Voltron, erhalte ich die folgenden Fehler und die Installation wird nicht abgeschlossen.

matplotlib 1.3.1 requires nose, which is not installed.
python-dateutil 2.6.1 has requirement six>=1.5, but you'll have six 1.4.1 which is incompatible.
prompt-toolkit 1.0.15 has requirement six>=1.9.0, but you'll have six 1.4.1 which is incompatible.
blessed 1.14.2 has requirement six>=1.9.0, but you'll have six 1.4.1 which is incompatible.
matplotlib 1.3.1 has requirement numpy>=1.5, but you'll have numpy 1.8.0rc1 which is incompatible.

which pythonRetouren /usr/bin/pythonund which pipRetouren/usr/local/bin/pip

Ich möchte meinen Computer wieder in den Zustand versetzen, in dem er war, als er ausgepackt wurde, aber ich möchte ihn nicht komplett löschen und neu installieren. Ich habe versucht, macOS im macOS-Wiederherstellungsmodus neu zu installieren, aber der Fehler wurde dadurch nicht behoben. Es scheint also, dass irgendwo noch Verweise auf diese Pakete vorhanden sind. Wie kann ich den ursprünglichen Zustand von Python wiederherstellen?


$> pip -V
pip 10.0.0b2 from /Library/Python/2.7/site-packages/pip-10.0.0b2-py2.7.egg/pip (python 2.7)

Es sieht so aus, als ob Voltron tatsächlich installiert wurde, aber es wird immer noch ein Fehler für die fehlenden Abhängigkeiten angezeigt. Folgendes passiert, wenn ich versuche, eine davon zu installieren (in diesem Fall sechs)

$> pip install --user six
Requirement already satisfied: six in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (1.4.1)
python-dateutil 2.6.1 has requirement six>=1.5, but you'll have six 1.4.1 which is incompatible.
prompt-toolkit 1.0.15 has requirement six>=1.9.0, but you'll have six 1.4.1 which is incompatible.
blessed 1.14.2 has requirement six>=1.9.0, but you'll have six 1.4.1 which is incompatible.
matplotlib 1.3.1 has requirement numpy>=1.5, but you'll have numpy 1.8.0rc1 which is incompatible.

Update - Wert von sys.path

$> python -c "import os, sys; print(os.linesep.join(sys.path))"

/Library/Python/2.7/site-packages/pip-10.0.0b2-py2.7.egg
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload
/Users/emroch/Library/Python/2.7/lib/python/site-packages
/Library/Python/2.7/site-packages
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC

Antwort1

Ich hatte ein ähnliches Problem bei der Installation von Paketen mit PIP und es scheint, dass die Ursache des Problems dies ist https://github.com/pypa/pip/issues/5196

Ich könnte das Problem lösen, indem ich den hier vorgeschlagenen Schritt folge. https://stackoverflow.com/questions/27630114/matplotlib-issue-on-os-x-importerror-cannot-import-name-thread

sudo pip uninstall python-dateutil
sudo pip install python-dateutil==2.2

von @oriol-nieto Antwort

Python verwendete eine alte Version von 6, die ich durch Eingabe von Folgendem entfernt habe:

rm -rf /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six.*

verwandte Informationen