Remova e reinstale o Python no Mac - Posso confiar nessas referências antigas?

36

Eu sou novo no mac e, aparentemente, cometi algum tipo de erro. Eu tenho aprendido python, através de tutoriais, e entre Homebrew, Pip e XCode de alguma forma minhas versões são todas misturadas. Pip3 aponta para python2, então todos os meus testes python3 falham, etc ...

Estou pesquisando como remover todas as versões com segurança e depois tentar uma instalação limpa (homebrew?), Mas estou um pouco nervoso.

Encontrei alguns links excelentes:

Claramente, não se toca em nada no /systemdiretório raiz e basicamente todo o resto é excluído. O que me deixa nervoso é que esses links são muito velhos. (seis anos! +) Não tenho certeza se realmente confio neles ou não.

Alguém esteve aqui ultimamente? Posso confiar nas postagens vinculadas acima? Como faço para limpar essa bagunça da versão python? Nota: estou usando o MacOS Sierra (10.12.5)

zipzit
fonte

Respostas:

34

Então, acabei removendo todas as instalações python e reinstalando as coisas via Homebrew.

  1. which python---> /Library/Frameworks/Python.framework/Versions/2.7/bin/python Exclua todo o diretório Python.framework de /Library/Frameworks.
  2. which python3---> /usr/local/bin/python3 Exclua o diretório python3 inteiro.
  3. Eu estava um pouco nervoso com os links simbólicos. Inicialmente, renomei os que obviamente me causariam problemas. Acontece que isso era desnecessário. Em vez disso, basta usar:

    $ 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(ou brew cleanup --pruneem versões mais recentes do Homebrew) funcionou perfeitamente. Ele removeu todos os links simbólicos acima.

  4. Reinstale o python e python3 via homebrew. Tudo feito.

Em nenhum momento eu toquei na instalação python localizada dentro da /Systempasta.

Ah, e para ser claro. A resposta para a pergunta original é

Sim, você pode confiar nas referências antigas, como está escrito! Essa orientação ainda é válida.

zipzit
fonte
@nohillside thx mas .. você poderia facilmente ter reconhecido a entrada recente de XXXX aqui que levou sua edição a comentar aqui. Parece uma falta estranha de atribuição para você. Os newby não têm permissão para postar comentários? E agora não consigo ver o nome do envio para fazer isso sozinho.
zipzit 26/02
A melhor maneira de obter atribuição é realmente editar uma postagem, caso a edição seja necessária, algo que todos os usuários (mesmo os anônimos) podem fazer. Se os usuários optarem por postar comentários de melhoria como respostas, geralmente apenas os edito na postagem relacionada.
nohillside
As versões homebrew do python não incluirão suporte para Xcode ou ferramentas como cinzel na última verificação. Portanto, isso normalmente não é recomendado.
nyteshade
Apenas para mencionar /System/Library/Frameworks/Python.framework/nunca deve ser removido, link docs.python.org/3/using/mac.html
ivan.proskuryakov
nova versão tem limpeza de cerveja
GraphicalDot
5

Minha versão do 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 feito:

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.
Girino
fonte
Isto funcionou bem para mim. Eu precisava ajustar o ipythoncaminho editando manualmente o script de inicialização - para apontar para a versão brew do python
javadba 27/03
0

Os arquivos do sistema são protegidos pelo System Integrity Protection. Você não poderá seguir estas instruções para rm -rfpastas aleatórias em / System sem desativar o SIP primeiro.

No entanto, como os arquivos estão protegidos, você sabe que os arquivos não foram modificados. Sua 'bagunça de versão' deveu-se à sua configuração de shell e não seria alterada modificando os arquivos do sistema de qualquer maneira. Você não deve tocar nesses arquivos que garantidamente existem no macOS.

O Homebrew é instalado separadamente em / usr / local / Cellar. Use o Homebrew para gerenciar sua instalação do Python e ignorar completamente a instalação do sistema.

grg
fonte
Foi SIM, certo confiar nessas duas referências, ou NÃO, não confiar nelas? Essas referências parecem de alta qualidade, bem fundamentadas e explicadas com bons detalhes.
Zipzit 25/05
1
@zipzit Você pode confiar neles, mas eles não funcionarão - são duas coisas separadas. O conteúdo é confiável; experimente-o em uma versão recente do macOS e não causará danos, mas também não funcionará, pelas razões indicadas nesta resposta. Eu recomendo não desativar o SIP apenas para remover a instalação do sistema Python (e é por isso que não vinculei às instruções) porque essa não é a causa real do seu problema e não ajudará a resolver nada, potencialmente causando mais problemas no processo.
grg
Sua resposta não faz sentido para mim. Nenhuma das respostas de qualidade vinculadas acima toca em nada /system. Nenhum = Não Um, Zero, Zip, Nada. Há coisas a serem excluídas na pasta 1) Python 3.3 da 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 existir). Eu não acho que nenhum deles atingirá as proteções de que você está falando. o que estou perdendo?
Zipzit
@zipzit Há algum tempo, o Python foi movido de / Library para / System / Library, então você estará tocando em / System na tentativa de remover a instalação do sistema. A estrutura do Python do sistema está em /System/Library/Frameworks/Python.framework, não em / Library.
grg
$which python /Library/Frameworks/Python.framework/Versions/2.7/bin/python $ which python3 /usr/local/bin/python3mais pitão 2,3, 2,4, 2,5, 2,7 e corrente localizado noSystem/Library/Frameworks/Python.framework/Versions/...
zipzit