$PYTHONPATH y sys.path no parecen coincidir

$PYTHONPATH y sys.path no parecen coincidir

Quiero agregar una carpeta permanentemente sys.pathpero 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 .bashrcpara agregar una ruta $PYTHONPATHpara 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 ^PYTHONno devuelve nada.

Entonces, ¿cómo sys.pathse llena y cómo puedo agregarle permanentemente una carpeta?

Respuesta1

sys.pathen 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.pathque 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

información relacionada