Estou tentando limpar as várias instalações do Python no meu MacBook Pro (macOS 10.13.4) removendo tudo, exceto o python do sistema original (2.7.2 para a versão atual do macOS). Já tive instalações de python.org, macports e homebrew uma vez ou outra e acho que consegui excluir tudo o que essas instalações tocaram, mas meu sistema python ainda grita comigo quando tento instalar um módulo.
Depois de remover as instalações homebrew python e pip e excluir pastas antigas da instalação do macports, atualizei meu ~/.bash_profile para conter apenas minha configuração .bashrc e utilitários iTerm2. Em seguida, instalei o PIP para o sistema python usando easy_install. No entanto, quando tento instalar um pacote, por exemplo voltron, recebo os seguintes erros e a instalação não termina.
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
devoluções /usr/bin/python
e which pip
devoluções/usr/local/bin/pip
Gostaria que meu computador voltasse ao estado em que estava quando saiu da caixa, mas não quero limpar e reinstalar. Tentei usar o modo de recuperação do macOS para reinstalar o macOS, mas isso não alterou o erro, então parece que há algumas referências persistentes a esses pacotes em algum lugar. Como posso restaurar o estado original do 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)
Parece que acabou instalando o Voltron, mas ainda mostra um erro para as dependências ausentes. Aqui está o que acontece quando tento instalar um deles (seis, neste caso)
$> 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.
Atualização - valor de 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
Responder1
Eu estava tendo um problema semelhante ao instalar pacotes com PIP e parece que a causa do problema é esta https://github.com/pypa/pip/issues/5196
Eu poderia resolver o problema seguindo o que é proposto aqui 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
resposta de @oriol-nieto
python estava usando uma versão antiga de seis, que removi digitando:
rm -rf /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six.*