Como fazer com que Conda e Virtualenv funcionem no mac OS Catalina?

12

Anteriormente, eu tinha o Conda funcionando sem problemas no Mojave, mas descobri que a atualização para a Catalina move a pasta "anaconda3" para a área de trabalho> Itens realocados> Segurança> anaconda3. Parece que as configurações de segurança da Catalina podem não permitir mais a instalação direta de aplicativos sob o diretório do usuário.

Eu tentei a sugestão aqui , escrita abaixo:

Olá, talvez eu tenha uma solução

  • Copie a pasta anaconda3 localizada em Itens realocados para / Users / myname /
  • Terminal Aberto
  • Digite: export PATH = '' / Usuários / meu nome / anaconda3 / bin: $ PATH "
  • Digite: conda init zsh

Funcionou! Boa sorte!

Mas isso não funciona para mim. Depois que conda init zsheu recebo:

-bash: / Users / USER / anaconda3 / bin / conda: / anaconda3 / bin / python: intérprete incorreto: não existe esse arquivo ou diretório

Como posso colocar o Conda em funcionamento novamente sem perder todos os meus ambientes virtuais? Obrigado!


Atualizar

Coloquei Conda para trabalhar, seguindo a sugestão de @Ted Shaowang. Isso significa que conda env listmostra todos os ambientes virtuais criados via Conda.

No entanto, ainda estou enfrentando um problema virtualenv, pois, como alterei os locais padrão do arquivo anaconda3, não foi possível encontrar o python.

O executável python localizado em .virtualenvs/env/bin/pythonnão pode ser encontrado. Preciso fazer mais alterações para que o python funcione virtualenvtambém?

rrz0
fonte
Pelo seu erro, parece que você ainda está usando bash, mas a solução sugerida é zsh(o novo padrão da Catalina). Tente em conda init bashvez disso.
merv
Eu recebi o mesmo erro. bashtambém não funciona.
Kaymal

Respostas:

6

Eu tenho exatamente o mesmo problema e isso funciona para mim:

Depois de mover o anaconda de "Itens realocados" para ~/anaconda3, edite a primeira linha do ~/anaconda3/bin/condaarquivo de #!/anaconda3/bin/pythonpara #!/Users/USERNAME/anaconda3/bin/pythonpara refletir a alteração.

Ted Shaowang
fonte
11
Isso afeta as configurações de pip e Jupyter?
Rrz0 09/10/19
11
Isso não parece resolver todos os problemas relacionados ao anaconda3 e python. Estou recebendo o erro: Não é possível executar o programa "/Users/USER/.virtualenvs/env/bin/python"Esse arquivo ou diretório não existe . Quando eu faço check-in no Finder, o arquivo está realmente ausente e não pode ser localizado.
rrz0
3

Eu provavelmente me absteria de usar a solução acima. Esse ~/anaconda3/bindiretório possui muitas executáveis ​​(não apenas condaaquela) que precisariam ser alteradas desta maneira manual. Por exemplo, a menos que você faça a mesma alteração, também não poderá executar jupyter notebook, basenem de outros envs que possa ter.

Minha dica: tente obter um arquivo de requisitos para seus envs virtuais e faça uma nova instalação. Você pode usar pipreqspara obter os requisitos usados ​​para projetos individuais: https://www.idiotinside.com/2015/05/10/python-auto-generate-requirements-txt/

Cristina Morariu
fonte
Obrigado pela sugestão. Como você diz, o problema também permanece virtualenv.
Rrz0 09/10/19
3
Consulte a postagem do blog que recomenda uma ferramenta para corrigi-los: anaconda.com/…
msarahan 11/11
1

Tecnicamente, isso está reinstalando o anaconda, no entanto, restaurei todos os meus envios de condôes, espero que seja uma solução aceitável!

Aqui está como eu o fiz funcionar na Catalina há alguns minutos (agora usando o z-shell): - Verificou a existência do diretório "Relocated Items" na minha área de trabalho e o diretório "anaconda3" e seu conteúdo dentro - Naveguei para o diretório envs em "anaconda3" e deixou a janela do localizador aberta (veja a captura de tela)

insira a descrição da imagem aqui

ENTÃO:

  • abriu novo terminal (z-shell)
  • executado (instalado em / usr / local / anaconda3):

    barril de cerveja instalar anaconda

  • após a instalação ter sido bem-sucedida, abri meu arquivo ~ / .zshrc (para meus aliases do z-shell) e adicionei a seguinte linha:

    exportar PATH = "/ usr / local / anaconda3 / bin: $ PATH"

  • salvei meu arquivo ~ / .zshrc e recarreguei com:

    fonte ~ / .zshrc

  • para verificar se o comando conda funciona agora, executei:

    lista cond env

  • para mim, isso mostrou um ambiente base e foi isso

  • em seguida, abra o Finder no novo local de envs: abra / usr / local / anaconda3 / envs /.

  • Eu arrastei (movi) todos os meus envs antigos para a nova pasta envs e executei:

    lista cond env

E todos os meus velhos amigos estão de volta! :)

  • atualizei meus caminhos de intérprete / env do PyCharm para refletir os novos locais desses envs (tive que reiniciar o PyCharm depois, mas agora funciona!)
  • FEITO
Phil S
fonte
Obrigado por sua sugestão. Isso funciona virtualenvtambém? Eu tenho alguns virtualenvsque não consigo usar no Pycharm, pois continuo recebendo `Erro: Não é possível executar o programa" /Users/USER/.virtualenvs/baseline_env/bin/python "Esse arquivo ou diretório não existe. No Finder, eu também recebo"The original item python cannot be found.
rrz0 9/10/19
11
Consulte a publicação do blog recomendando uma ferramenta para corrigir mais conexões quebradas: anaconda.com/…
msarahan 11/11/19
11
@ Rrz0 com base no que você escreveu, acho que o caminho para o virtualenv está errado. É hacky, mas se você puder acessar seu virtualenv, acho que você poderá copiar o caminho para ele e editar as entradas no PyCharm (se os virtualenvs estiverem nos itens movidos, então não sei onde aconselhá-lo. coloque-os) - Se você puder acessar seus virtualenvs antigos, poderá (um por um) ativá-los no shell e executar: pip freeze> requirements_VENV_NAME.txt - no PyCharm, crie novos virtualenvs - ative cada novo virtualenvs e execute: pip install - r requirements_VENV_NAME.txt
Phil S
Obrigado @PhilS, algo nesse sentido acabou funcionando.
rrz0
0

Não tenho certeza se isso é considerado um comentário ou pelo menos uma resposta temporária, mas evitaria tentar corrigir qualquer problema de compatibilidade da Catalina com o Anaconda por enquanto. Veja este problema do GitHub .

Sean Wangnick
fonte
0

Eu tenho o mesmo problema, e este trabalho para mim: Minha solução:

  1. Copie seu anaconda3 da pasta Relocated Items
  2. Colar em User / YourUserName
  3. Abra o arquivo conda no anaconda3 / bin com o editor e edite a primeira linha #!/anaconda3/bin/pythonpara#!/Users/YourUserName/anaconda3/bin/python
  4. Salve-o e execute o arquivo conda
  5. Terminal Aberto
  6. Rode isto : export PATH=''/Users/YourUserName/anaconda3/bin:$PATH"
  7. Corre conda init zsh
TANK NK
fonte
Preciso fazer mais alterações para que o python funcione virtualenvtambém, por exemplo?
rrz0
0

Ocorreu o mesmo problema e a seguinte solução funcionou para mim, e esta é a solução mais fácil:

Em vez de mexer na cópia do arquivo anaconda3 de itens realocados para o diretório User / USERNAME, seria melhor reinstalar a versão mais recente do anaconda navigator em seu site oficial: https://www.anaconda.com/distribution/#macos

Durante a instalação, ele solicitará algumas permissões resultantes das novas Políticas de Segurança da Apple, apenas conceda-as e funcionará da maneira que deveria após essa nova instalação!

shreyas labhsetwar
fonte
0

Isto é o que funcionou para mim.

Estes são os meus arquivos de cabeçalho (Catalina 10.15):

/Library/Developer/CommandLineTools/usr/include/c++/v1/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/sys/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/stdio.h

Corra sudo find /Library -name stdio.hpara ver onde a sua está localizada.

Arquivos de cabeçalho do Mojave 10.14:

$ sudo find /Library -name stdio.h 
/Library/Developer/CommandLineTools/usr/include/c++/v1/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/stdio.h

Como pode ser visto, os SDKs agora estão divididos em MACOSX10.14 e 10.15, diferentemente do Mojave.

TLDR

Então, essas eram minhas pastas SDK na Catalina:

<img width = "208" alt = "image" src = "https://user-images.githubusercontent.com/31866965/67324292-e49a1e00-f513-11e9-997e-9c49e7badbe5.png">

  1. Renomeie MacOSX.sdkparaMacOSX_orig.sdk
  2. Clique com o botão direito do mouse em MacOSX10.14.sdk
  3. Duplicado
  4. Renomeie a pasta duplicada para MacOSX.sdk

Sua estrutura de pastas agora deve ficar assim:

<img width = "195" alt = "image" src = "https://user-images.githubusercontent.com/31866965/67318914-74d46500-f50c-11e9-879d-ef0cd3e458cc.png">

Assim, estamos basicamente usando o OSX sdk da versão anterior como sysroot. Espero que isto ajude.

rrz0
fonte