Обновление - значение sys.path

Обновление - значение sys.path

Я пытаюсь очистить различные установки Python на моем MacBook Pro (macOS 10.13.4), удалив все, кроме оригинального системного python (2.7.2 для текущей версии macOS). У меня были установки с python.org, macports и homebrew в разное время, и я думаю, что мне удалось удалить все, чего коснулись эти установки, но мой системный python все еще кричит на меня, когда я пытаюсь установить модуль.

После удаления установок homebrew python и pip, а также удаления старых папок из установки macports я обновил свой ~/.bash_profile, чтобы он содержал только мою конфигурацию .bashrc и утилиты iTerm2. Затем я установил PIP для системного python с помощью easy_install. Однако при попытке установить пакет, например voltron, я получаю следующие ошибки, и установка не завершается.

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 pythonвозвращается /usr/bin/pythonи which pipвозвращается/usr/local/bin/pip

Я хотел бы вернуть свой компьютер в состояние, в котором он был, когда я его вынул из коробки, но я не хочу делать очистку и переустановку. Я пытался использовать режим восстановления macOS для переустановки macOS, но это не изменило ошибку, так что, похоже, где-то остались некоторые ссылки на эти пакеты. Как мне восстановить исходное состояние Python?


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

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

$> 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.

Обновление - значение 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

решение1

У меня была похожая проблема при установке пакетов с помощью PIP, и, похоже, причина проблемы в этом. https://github.com/pypa/pip/issues/5196

Я мог бы решить эту проблему, следуя предложенному здесь 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

от @oriol-nieto ответ

python использовал старую версию six, которую я удалил, введя:

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

Связанный контент