Tengo esto en mi ~/.profile
:
export PYTHONPATH=/home/dev/python-files
En el python-files
directorio, tengo algunos proyectos clonados desde git-hub (flask, curveship y py-vgdl).
Cada vez que intento iniciar cualquiera de los ejemplos en estos proyectos, obtengo errores similares a los siguientes:
$ 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
¿Me parece que no debería recibir este error porque tengo PYTHONPATH
configurada esa variable ambiental?
Ejecutando el intérprete interactivo de python:
>>> import os
>>> os.environ["PYTHONPATH"]
'/home/dev/python-files'
fuente
También puede hacer lo siguiente:
export PYTHONPATH=$(pwd) **or** export PYTHONPATH=${PWD}
pwd es el directorio de trabajo actual.
fuente
export PYTHONPATH=$PYTHONPATH:$(pwd)
PYTHONPATH
debe indicar dónde están sus paquetes y módulos de Python, no dónde están sus pagos. En otras palabras, si lo hacels "$PYTHONPATH"
, debería ver*.py
archivos ( módulos de Python ) y directorios que contienen__init__.py
archivos ( paquetes de Python ).Entonces, si quieres poder hacerlo
import vgdl
,PYTHONPATH
deberías tener este aspecto:porque el
vgdl
paquete está adentropy-vgdl
, no adentropython-files
.Para agregar las otras rutas también, puede usar
:
para separarlas:Sin embargo, esto funcionará, en tales casos, el uso
PYTHONPATH
puede ser demasiado complejo. Lo que recomiendo es usarvirtualenv
, que está hecho a propósito para simplificar situaciones como la suya. Lo que tienes que hacer es básicamente:virtualenv env
source env/bin/activate
pip
o lasetup.py
secuencia de comandos de sus paquetes.No estoy dando mucha información porque virtualenv está bien documentado y si necesita ayuda con algo, será mejor que abra una nueva pregunta.
fuente