Eu tenho isso no meu ~/.profile
:
export PYTHONPATH=/home/dev/python-files
No python-files
diretório, tenho alguns projetos clonados no git-hub (flask, curveship e py-vgdl).
Sempre que tento iniciar um dos exemplos nesses projetos, recebo erros semelhantes ao seguinte:
$ python ~/python-files/py-vgdl/examples/gridphysics/frogs.py
Traceback (most recent call last):
File "/home/dev/python-files/py-vgdl/examples/gridphysics/frogs.py", line 67, in <module>
from vgdl.core import VGDLParser
ImportError: No module named vgdl.core
Parece-me que não devo receber esse erro porque tenho essa PYTHONPATH
variável ambiental configurada?
Executando o interpretador interativo python:
>>> import os
>>> os.environ["PYTHONPATH"]
'/home/dev/python-files'
fonte
Você também pode fazer o seguinte:
export PYTHONPATH=$(pwd) **or** export PYTHONPATH=${PWD}
pwd é o atual diretório de trabalho.
fonte
export PYTHONPATH=$PYTHONPATH:$(pwd)
PYTHONPATH
deve apontar para onde estão seus pacotes e módulos Python, não para onde estão seus checkout. Em outras palavras, se você fizer um,ls "$PYTHONPATH"
deverá ver*.py
arquivos ( módulos Python ) e diretórios contendo__init__.py
arquivos ( pacotes Python ).Então, se você quiser
import vgdl
, vocêPYTHONPATH
deve ficar assim:porque o
vgdl
pacote está dentropy-vgdl
, não dentropython-files
.Para adicionar outros caminhos também, você pode usá
:
-los para separá-los:Isso realmente funcionará, no entanto, para tais casos, usando
PYTHONPATH
pode ser muito complexo. O que eu recomendo é usarvirtualenv
, feito de propósito para simplificar situações como a sua. O que você precisa fazer é basicamente:virtualenv env
source env/bin/activate
pip
ou osetup.py
script dos seus pacotes.Não estou fornecendo muita informação porque o virtualenv está bem documentado e, se você precisar de ajuda com alguma coisa, é melhor abrir uma nova pergunta.
fonte