GNU/Linux >> Tutoriales Linux >  >> Linux

En el script de Python, ¿cómo configuro 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 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"]

Linux
  1. ¿Cómo detectar la virtualización usando Sys::Detect::Virtualization Perl script?

  2. ¿Cómo establecer parámetros cuando Pipe Bash Script to Bash?

  3. Cómo ejecutar scripts de Python desde shell

  4. cómo encontrar el propietario de un archivo o directorio en python

  5. ¿Cómo puedo configurar el 'backend' en matplotlib en Python?

Cómo ejecutar un script de Python en PHP

Cómo configurar la ejecución automática de un script de Python usando Systemd

Cómo usar conjuntos en Python

¿Cómo salir de la terminal de Linux usando el script de Python?

cual python vs PYTHONPATH

¿Cómo modificar globalmente el PYTHONPATH predeterminado (sys.path)?