O que o meu PYTHONPATH contém?

4

Eu trabalho em algumas bibliotecas de python pessoais e preciso exibir o que PYTHONPATH contém e, em seguida, manipulá-lo.

    
por Niccolò 02.12.2013 / 15:13

1 resposta

9

Normalmente, a variável de ambiente $PYTHONPATH está vazia (tente echo $PYTHONPATH ). A lista atual de pesquisas python de pastas para bibliotecas pode ser encontrada com (em python):

import sys
print(sys.path)

Isso consistirá (na ordem de pesquisa) do diretório atual, de quaisquer diretórios em $PYTHONPATH e, finalmente, os diretórios de biblioteca padrão, definidos por site.py . Os principais locais padrão são (onde X.Y é a versão do python, por exemplo, 2.7):

/usr/lib/pythonX.Y (python system libraries, eg re, urllib)
/usr/lib/pythonX.Y/dist-packages (python libraries installed with deb packages)

Se você usar pip install --user ou similar para instalar bibliotecas como você mesmo, ele também conterá o diretório da biblioteca do usuário:

/home/USERNAME/.local/lib/pythonX.Y/site-packages

Você pode manipular o PYTHONPATH definindo a variável de ambiente antes de iniciar o python ( PYTHONPATH=$PYTHONPATH:/foo/bar ) ou editando sys.path depois de iniciar o python ( import sys; sys.path = ["/foo/bar"] + sys.path ).

No entanto, se você quiser brincar com suas próprias bibliotecas python, uma boa idéia é criar um virtualenv . Este é um diretório no qual você pode brincar com suas próprias versões de bibliotecas python sem qualquer risco de bagunçar as bibliotecas python usadas pelo sistema. Veja como configurar e usar um ambiente virtual python no Ubuntu? para informações sobre como criar e usar um virtualenv.

    
por chronitis 02.12.2013 / 16:49