Puede obtener y establecer variables de entorno a través de os.environ
:
import os
user_home = os.environ["HOME"]
os.environ["PYTHONPATH"] = "..."
Pero dado que su intérprete ya se está ejecutando, esto no tendrá ningún efecto. Es mejor que uses
import sys
sys.path.append("...")
cuál es la matriz que tu PYTHONPATH
se transformará en el inicio del intérprete.
Si pones sys.path.append('dir/to/path')
sin comprobar que ya está agregado, podría generar una lista larga en sys.path
. Para eso, recomiendo esto:
import sys
import os # if you want this directory
try:
sys.path.index('/dir/path') # Or os.getcwd() for this directory
except ValueError:
sys.path.append('/dir/path') # Or os.getcwd() for this directory
No estableces PYTHONPATH
, agregas entradas a sys.path
. Es una lista de directorios en los que se deben buscar paquetes de Python, por lo que puede agregar sus directorios a esa lista.
sys.path.append('/path/to/whatever')
De hecho, sys.path
se inicializa dividiendo el valor de PYTHONPATH
en el carácter separador de ruta (:
en sistemas similares a Linux, ;
en Windows).
También puede agregar directorios usando site.addsitedir
, y ese método también tendrá en cuenta .pth
archivos existentes dentro de los directorios que pasa. (Ese no sería el caso con los directorios que especifique en PYTHONPATH
.)
PYTHONPATH termina en sys.path, que puede modificar en tiempo de ejecución.
import sys
sys.path += ["whatever"]