
Quiero agregar una carpeta permanentemente sys.path
pero no funciona.
En mi Debian Stretch, cuando ejecuto:
$ echo $PYTHONPATH
parece vacío
Al mismo tiempo, cuando imprimo el contenido de sys.path
, hay 10 rutas diferentes que no son las mismas que las contenidas en $PATH
(y obviamente en $PYTHONPATH
). Como puede ser explicado ?
(Tuve que crear un entorno virtual para un marco, pero no creo que lo esté usando en este momento, por lo que probablemente no esté relacionado, pero no me siento cómodo con ese concepto, así que tal vez me pierda algo)
También intenté modificar .bashrc
para agregar una ruta $PYTHONPATH
para conocer la siguiente línea:
PYTHONPATH=$PYTHONPATH:~/bin
Después de reiniciar, funciona, quiero decir, $PYTHONPATH lo contiene pero nada cambia sys.path
.
Además, $ env | grep ^PYTHON
no devuelve nada.
Entonces, ¿cómo sys.path
se llena y cómo puedo agregarle permanentemente una carpeta?
Respuesta1
sys.path
en Python hay una "lista de cadenas que especifica la ruta de búsqueda de módulos. Inicializada desde la variable de entornoPYTHONPATH
, más un valor predeterminado que depende de la instalación". (tomado dela documentación en línea de Python).
Para sys.path
que se vea afectado por PYTHONPATH
, este último tiene que ser una variable de entorno. Si no es una variable de entorno sino solo una variable de shell, el intérprete no la verá python
. Lo convierte en una variable de entorno exportándolo después de establecer su valor, o al mismo tiempo, como en
export PYTHONPATH=/some/path:/goes/here