Respuestas:
No configura PYTHONPATH
, agrega 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 los .pth
archivos existentes dentro de los directorios que pase. (Ese no sería el caso con los directorios que especifique PYTHONPATH
).
Puede obtener y establecer variables de entorno a través de os.environ
:
import os
user_home = os.environ["HOME"]
os.environ["PYTHONPATH"] = "..."
Pero como su intérprete ya se está ejecutando, esto no tendrá ningún efecto. Es mejor usar
import sys
sys.path.append("...")
que es la matriz en la que PYTHONPATH
se transformará al iniciar el intérprete.
Si pones sys.path.append('dir/to/path')
sin marcar que ya está agregado, podrías generar una lista larga en formato 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
puede configurar PYTHONPATH
, por os.environ['PATHPYTHON']=/some/path
, luego debe llamar os.system('python')
para reiniciar el shell de Python para que la ruta recién agregada sea efectiva.
os.system()
no "reinicia el shell de Python", inicia una nueva instancia interactiva de Python. Cuando regrese de eso, estará de vuelta en el guión de llamada.
sys.path.insert(0, '/path/to/whatever')
.