Sou novo no mac e, aparentemente, cometi algum tipo de erro. Eu tenho aprendido python, por meio de tutoriais, e entre Homebrew, Pip e XCode de alguma forma minhas versões estão todas misturadas. Pip3 aponta para python2, então todas as minhas tentativas de python3 falham, etc …
Estou pesquisando como remover todas as versões com segurança e tentar uma instalação limpa (homebrew?), mas estou um pouco nervoso.
Encontrei alguns links excelentes:
Claramente, não se toca em nada no diretório raiz /system
e basicamente todo o resto é excluído . O que me deixa nervoso é que esses links são muito antigos. (Seis anos! +) Não tenho certeza se realmente confio neles ou não.
Alguém esteve aqui ultimamente? Posso confiar nas postagens com link acima? Como faço para limpar essa bagunça da versão do python? Observação: estou usando MacOS Sierra (10.12.5)
Resposta
Então, acabei removendo todas as instalações do python, e reinstalar tudo via Homebrew.
-
which python
—>/Library/Frameworks/Python.framework/Versions/2.7/bin/python
Exclua todo o Python.framework diretório de/Library/Frameworks
. -
which python3
—>/usr/local/bin/python3
Exclua todo o diretório python3. -
Eu estava um pouco nervoso com os links simbólicos. Inicialmente, renomeei aqueles que obviamente me causariam problemas. Acontece que era desnecessário. Em vez disso, apenas use :
$ brew doctor Warning: Broken symlinks were found. Remove them with "brew prune": /usr/local/bin/python-32 /usr/local/bin/python2-32 /usr/local/bin/python2.7-32 /usr/local/bin/python2_DNU /usr/local/bin/python_DNU /usr/local/bin/pythonw-32 /usr/local/bin/pythonw2-32 /usr/local/bin/pythonw2.7-32
Então,
brew prune
(oubrew cleanup --prune
no mais recente versões do Homebrew) funcionaram perfeitamente. Ele removeu todos os links simbólicos acima. -
Reinstale o python e o python3 via homebrew. Tudo pronto.
Em nenhum momento toquei na instalação do python localizada na pasta /System
.
Oh, e para ser claro. A resposta à pergunta original é
Sim, você pode confiar nas referências antigas, conforme estão escritas! Essa orientação ainda é válida.
Comentários
Resposta
Minha versão Python era 3.6, eu queria atualizar para 3.7 (caso você tenha requisitos semelhantes). Estou usando o macOS versão 10.12.6 e simplesmente desinstalar e reinstalar funcionou para mim:
brew uninstall --ignore-dependencies python3
Então:
brew install python3
e pronto:
python3 Python 3.7.2 (default, Jan 13 2019, 12:51:54) [Clang 9.0.0 (clang-900.0.39.2)] on darwin Type "help", "copyright", "credits" or "license" for more information.
Comentários
- Funcionou bem para mim. Eu precisei ajustar o caminho
ipython
editando manualmente o script de inicialização – para apontar para a versão brew do python
Resposta
Os arquivos do sistema são protegidos pela Proteção da integridade do sistema. Você não será capaz de seguir estas instruções para rm -rf
pastas aleatórias em / System sem desativar o SIP primeiro.
No entanto, como os arquivos são protegidos, você sabe os arquivos não foram modificados. Sua bagunça de versão seria devido à configuração do shell e não poderia ser alterada modificando os arquivos do sistema de qualquer maneira. Você não deveria tocar nesses arquivos que existem com certeza no macOS.
O Homebrew é instalado separadamente em / usr / local / Cellar. Use o Homebrew para gerenciar a instalação do Python e ignorar a instalação do sistema completamente.
Comentários
- Foi SIM, certo confiar nessas duas referências ou NÃO , não ‘ não confia neles? Essas referências parecem de alta qualidade, bem fundamentadas e explicadas com muitos detalhes.
- @zipzit Você pode confiar nelas, mas elas ganharam ‘ t funciona – isso ‘ é duas coisas separadas.O conteúdo é confiável; experimente-o em uma versão recente do macOS e ‘ não causará nenhum dano, mas também ‘ não funcionará, pelos motivos dada nesta resposta. Recomendo enfaticamente não desativar o SIP apenas para remover a instalação do Python do sistema (é por isso que não ‘ t vinculado às instruções) porque ‘ não é a verdadeira causa do seu problema e não ‘ ajudará a resolver qualquer coisa, potencialmente causando mais problemas no processo.
- Sua resposta não ‘ t faz sentido para mim. Nenhuma das respostas de qualidade relacionadas acima diz respeito a
/system
. Nenhum = Nenhum, Zero, Zip, Nada. Há coisas para excluir na 1) pasta Python 3.3 em sua pasta Aplicativos. 2) /Library/Frameworks/Python.framework 3) ~ 20 links simbólicos em / usr / local / bin. 4) referências no caminho do shell (se houver). Eu não ‘ acharia que qualquer um deles atingirá as proteções de que você está falando. O que estou perdendo? - @zipzit Há muito tempo, o Python foi movido de / Library para / System / Library, então você tocará em / System para tentar remover a instalação do sistema. A estrutura Python do sistema está em /System/Library/Frameworks/Python.framework, não em / Library.
-
$which python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
$ which python3
/usr/local/bin/python3
mais python 2.3, 2.4, 2.5, 2.7 e atual localizado emSystem/Library/Frameworks/Python.framework/Versions/...
/System/Library/Frameworks/Python.framework/
nunca deve ser removido, vincule documentos. python.org/3/using/mac.html