with tutorial the espaƱol applications python path pythonpath

python - tutorial - the django project



establecer pythonpath antes de importar instrucciones (2)

Como también se observa en los documentos here .
Vaya a Python XX/Lib y agregue estas líneas al site.py allí,

import sys sys.path.append("yourpathstring")

Esto cambia su sys.path para que en cada carga, tenga ese valor en ella ..

Como se indica here sobre site.py ,

Este módulo se importa automáticamente durante la inicialización. La importación de este módulo agregará rutas específicas del sitio a la ruta de búsqueda del módulo y agregará algunos builtins.

Para otros métodos posibles de agregar alguna ruta a sys.path vea here

Mi código es:

import scriptlib.abc import scriptlib.xyz def foo(): ... some operations

pero el scriptlib está en otro directorio, así que tendré que incluir ese directorio en la variable de entorno "PYTHONPATH".

¿Hay alguna forma en que pueda agregar primero el directorio scriptlib en la variable de entorno "PYTHONPATH" antes de que se ejecute la instrucción de importación como:

import sys sys.path.append(''/mypath/scriptlib'') import scriptlib.abc import scriptlib.xyz def foo(): ... some operations

Si es así, ¿es el valor solo para ese símbolo del sistema o es global?

Gracias por adelantado


Esto agregará una ruta a su proceso / instancia de Python (es decir, el ejecutable en ejecución). La ruta no se modificará para ningún otro proceso de Python. Otro programa en ejecución de Python no tendrá su ruta modificada, y si sale de su programa y se ejecuta nuevamente, la ruta no incluirá lo que agregó antes. Lo que estás haciendo es generalmente correcto.

set.py:

import sys sys.path.append("/tmp/TEST")

loop.py

import sys import time while True: print sys.path time.sleep(1)

ejecutar: python loop.py &

Esto ejecutará loop.py, conectado a su STDOUT, y continuará ejecutándose en segundo plano. Luego puede ejecutar python set.py Cada uno tiene un conjunto diferente de variables de entorno. Observe que la salida de loop.py no cambia porque set.py no cambia el loop.py de loop.py

Una nota sobre la importación

Las importaciones de Python son dinámicas, como el resto del lenguaje. No hay enlaces estáticos pasando. La importación es una línea ejecutable, al igual que sys.path.append...