Instalei o anaconda executando o
bash Anaconda-2.2.0-Linux-x86_64.sh
no meu sistema Ubuntu 14.04, que foi instalado com sucesso, após o qual me foi pedido para exportar minha nova /home/username/anaconda/bin
variável de ambiente $ PATH.
Ao fazer isso, pude usar todos os recursos do anaconda, incluindo os IDE, bem como usar todos os comandos baseados em conda com êxito.
Na próxima vez em que iniciei meu sistema, todos os comandos digitados incorretamente viram um erro.
Fatal Python error: Py_Initialize: Unable to get the locale encoding
File "/usr/local/lib/python2.7/encodings/__init__.py", line 123
raise CodecRegistryError,\
^
SyntaxError: invalid syntax
Aborted (core dumped)
erro. (Todos os comandos, exceto python
para serem específicos)
Seguindo algumas postagens de stackexchange e askubuntu e também percebendo que minha $PYTHONPATH
configuração estava definida usr/local/lib/python2.7
, tentei
export PYTHONPATH=$PYTHONPATH:/home/username/anaconda/lib/python2.7
mas não ajudou.
Isso me fez passar por uma saga inteira de remoções e reinstalações de pacotes e, é claro, muitas atualizações e atualizações, para tentar resolver o problema sozinho.
conda info -a
retorna:
CIO_TEST: <not set>
CONDA_DEFAULT_ENV: <not set>
CONDA_ENVS_PATH: <not set>
LD_LIBRARY_PATH: <not set>
PATH: /home/username/anaconda/bin:/home/username/Scala-sbt/sbt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/username/bin:/usr/local/java/jdk1.8.0_20/bin
PYTHONHOME: <not set>
PYTHONPATH: /usr/local/lib/python2.7:/home/username/anaconda/bin/python
O comando
which python
retorna
/home/username/anaconda/bin/python
e
echo "$PATH"
retorna
/home/username/anaconda/bin:/home/username/Scala-sbt/sbt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/username/bin:/usr/local/java/jdk1.8.0_20/bin
Eu sei que tem algo a ver com a maneira como defino as variáveis de caminho, especificamente na ~/.bashrc
qual o Anaconda anexou automaticamente minha pasta / home / nome de usuário / anaconda / bin à $PATH
variável (Isso aconteceu durante uma segunda instalação do Anaconda depois que eu o removi primeiro )
Não modifiquei nenhuma outra variável de ambiente em um ~/.profile
ou em ~/.bashrc
.
Adicionei a linha de exportação $ PYTHONPATH à minha ~/.bashrc
antes de reiniciar.
Todos os recursos do Anaconda funcionam agora, embora o mesmo Fatal Python error: Py_Initialize: Unable to get the locale encoding
erro continue aparecendo em vez do erro de comando desconhecido usual, para a maioria dos comandos digitados incorretamente.
Continuarei analisando isso e editando minha resposta (ou consultando as respostas existentes, se houver) assim que descobrir por que isso acontece.
fonte
PYTHONPATH: /home/usrnme/anaconda/lib/python2.7:/usr/local/lib/python2.7
. Se eu for remover a linha PYTHONPATH: / home / usrnme / anaconda .. do meu ~ / .bashrc, o erro ainda persistirá e também nenhum dos recursos do Anaconda funcionaria até que eu o definisse novamente.Eu tenho problemas semelhantes nos últimos dois dias, então eu lembrei de como o bash lida com "comando não encontrado". No Ubuntu 14.04 (e Linux Mint 17, que eu uso os scripts 14.04), /etc/bash.bashrc tem a seguinte função:
No entanto, / usr / lib / command-not-found foi reescrito para o Python 3. Ele lida com o comando /etc/bash.bashrc com:
Isso chama "python3" do caminho em vez de fornecer o caminho direto. Para corrigir isso, a linha 22 de / usr / lib / command-not-found deve ser alterada de
para
Isso parece ser um bug no Ubuntu e não no Anaconda. Vou verificar se ele aparece em distribuições posteriores.
fonte
Depois de instalar o python3 nos locais padrão e perceber que eu precisava do sudo para usá-lo, instalei localmente usando isso no meu diretório pessoal:
Mas teve mais erros. Simplesmente desabilitar o PYTHONPATH na instância do Amazon Linux da AWS funcionou muito bem para mim.
fonte
Meu problema era um pouco diferente: como um usuário, eu poderia executar
python
, mas como outro usuário, não (recebi o mesmo erro do OP). Por fim, descobri que as permissões e a propriedade de /usr/lib/python3.5 foram danificadas. O motivo disso foi que eu havia definido recursivamente as permissões e a propriedade no virtualenv, o que acabou modificando os destinos dos links simbólicos (targetin /usr/lib/python3.5 ) também.Dica: use
strace python
para descobrir o que está acontecendo durante a inicialização do Python. Quando useistrace
, pude ver claramente PERMISSION_DENIED em /usr/lib/python3.5 .fonte
Isso funcionou para mim
/programming//a/39097003/823282
fonte
Eu tive um problema semelhante no Windows - excluí a variável de sistema PYTHONHOME. Vou tentar traduzir a solução para o inglês. Meu computador> Propriedades> Configurações avançadas do sistema> Variáveis de ambiente, procure a variável PYTHONHOME e exclua-a.
fonte