$PYTHONPATH e sys.path não parecem corresponder

$PYTHONPATH e sys.path não parecem corresponder

Quero adicionar uma pasta permanentemente, sys.pathmas não funciona.

No meu Debian Stretch, quando executo:

$ echo $PYTHONPATH

parece vazio

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

(Tive que criar um virtualenv para um framework, mas acho que não o estou usando agora, então provavelmente não está relacionado, mas não estou confortável com esse conceito, então talvez esteja faltando alguma coisa)

Também tentei modificar .bashrcpara adicionar um caminho $PYTHONPATHpara saber a seguinte linha:

PYTHONPATH=$PYTHONPATH:~/bin 

Após a reinicialização, funciona, quero dizer, $PYTHONPATH contém, mas nada muda para sys.path.

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

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

Responder1

sys.pathem Python é uma "lista de strings 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." (Tirado dea documentação on-line do Python).

Para sys.pathser afetado por PYTHONPATH, este último deve ser uma variável de ambiente. Se não for uma variável de ambiente, mas apenas uma variável de shell, não será visível pelo pythoninterpretador. Você a transforma em uma variável de ambiente exportando-a após definir seu valor, ou ao mesmo tempo, como em

export PYTHONPATH=/some/path:/goes/here

informação relacionada