$ PYTHONPATH e sys.path não parece corresponder

1

Eu quero adicionar uma pasta permanentemente a sys.path , mas não funciona.

No meu Debian Stretch, quando executo:

$ echo $PYTHONPATH

parece vazio

Ao mesmo tempo, quando imprimo o conteúdo de sys.path , existem 10 caminhos diferentes que não são os mesmos que os contidos em $PATH (e obviamente em $PYTHONPATH ). Como isso pode ser explicado?

(Eu tive que criar um virtualenv para um framework mas eu não acho que eu estou usando agora, então provavelmente não é relacionado mas eu não estou confortável com esse conceito então talvez eu perca algo)

Além disso, tentei modificar .bashrc para adicionar um caminho a $PYTHONPATH , por isso conheço a seguinte linha:

PYTHONPATH=$PYTHONPATH:~/bin 

Após a reinicialização, isso significa que $ PYTHONPATH contém, mas nada muda para sys.path .

Além disso, $ env | grep ^PYTHON não retorna nada.

Então, como sys.path está preenchido e como posso adicionar permanentemente uma pasta a ele?

    
por snoob dogg 29.05.2018 / 18:44

1 resposta

2

sys.path no Python é uma "lista de cadeias de caracteres que especifica o caminho de pesquisa para módulos. Inicializado a partir da variável de ambiente PYTHONPATH , mais um padrão dependente da instalação." (retirado da documentação on-line do Python ).

Para sys.path ser afetado por PYTHONPATH , o último tem que ser uma variável de ambiente. Se não for uma variável de ambiente, mas apenas uma variável de shell, ela não será visível pelo interpretador python . Você o transforma em uma variável de ambiente exportando-o depois de definir seu valor ou, ao mesmo tempo, como em

export PYTHONPATH=/some/path:/goes/here
    
por 29.05.2018 / 19:26