Eu tinha um arquivo chamado example_file.py
, o que eu queria usar a partir de vários outros arquivos, assim que eu decidi adicionar example_file.py
a sys.path
e importar este arquivo em outro arquivo para usar o arquivo. Para fazer isso, executei o seguinte no IPython.
import sys
sys.path
sys.path.append('/path/to/the/example_file.py')
print(sys.path)
Pude ver o caminho que acabei de adicionar e quando tentei importar este arquivo de outro caminho de diretório como este:
import example_file
funcionou bem, mas assim que saí do IPython, entrei novamente e verifiquei o sys.path
, vi que o caminho que eu adicionei não estava presente, então como faço para adicionar um caminho para sys.path permanentemente no Python?
sys.path.append()
aceita um diretório contendo um arquivo E NÃO UM CAMINHO ÚNICO PARA UM ARQUIVO.PYTHONPATH
.Respostas:
Existem algumas maneiras. Um dos mais simples é criar um
my-paths.pth
arquivo (conforme descrito aqui ). Este é apenas um arquivo com a extensão.pth
que você colocou nosite-packages
diretório do sistema . Em cada linha do arquivo, você coloca um nome de diretório, então você pode colocar uma linha lá com/path/to/the/
e ele irá adicionar esse diretório ao caminho.Você também pode usar a variável de ambiente PYTHONPATH, que é como a variável PATH do sistema, mas contém diretórios que serão adicionados
sys.path
. Veja a documentação .Observe que não importa o que você faça,
sys.path
contém diretórios, não arquivos. Você não pode "adicionar um arquivo asys.path
". Você sempre adiciona seu diretório e então pode importar o arquivo.fonte
site
pacote estava perfeito.sys.path.append('C:\\python34\\lib\\site-packages')
obrigado!.pth
arquivo é o que a documentação do módulo do site chama depath configuration file
. Digno de nota sobre o arquivo de configuração de caminho:no check is made that the item refers to a directory rather than a file. No item is added to sys.path more than once. Blank lines and lines beginning with # are skipped. Lines starting with import (followed by space or tab) are executed.
Assim funcionou para mim:
adicionando o caminho que você gosta:
verificação: você pode executar o cmd 'export' e verificar a saída ou pode verificar usando este cmd:
fonte