PYTHONPATH es una variable de entorno cuyo valor es una lista de directorios. Una vez configurado, Python lo utiliza para buscar módulos importados, junto con otros estándares. y directorios de bibliotecas de terceros que figuran en "sys.path" de Python.
Como cualquier otra variable de entorno, puede exportarlo en shell o en ~ / .bashrc, consulte aquí . Puede consultar os.environ ['PYTHONPATH'] por su valor en Python como se muestra a continuación:
$ python3 -c "import os, sys; print(os.environ['PYTHONPATH']); print(sys.path) if 'PYTHONPATH' in sorted(os.environ) else print('PYTHONPATH is not defined')"
SI se define en shell como
$ export PYTHONPATH=$HOME/Documents/DjangoTutorial/mysite
ENTONCES resultado =>
/home/Documents/DjangoTutorial/mysite
['', '/home/Documents/DjangoTutorial/mysite', '/usr/local/lib/python37.zip', '/usr/local/lib/python3.7', '/usr/local/lib/python3.7/lib-dynload', '/usr/local/lib/python3.7/site-packages']
ELSE resultado =>
PYTHONPATH is not defined
Para configurar PYTHONPATH en múltiples rutas, consulte aquí .
Tenga en cuenta que se puede agregar o eliminar una ruta de búsqueda a través de sys.path.insert (), del o remove () en tiempo de ejecución, pero NO a través de os.environ []. Ejemplo:
>>> os.environ['PYTHONPATH']="$HOME/Documents/DjangoTutorial/mysite"
>>> 'PYTHONPATH' in sorted(os.environ)
True
>>> sys.path // but Not there
['', '/usr/local/lib/python37.zip', '/usr/local/lib/python3.7', '/usr/local/lib/python3.7/lib-dynload', '/usr/local/lib/python3.7/site-packages']
>>> sys.path.insert(0,os.environ['PYTHONPATH'])
>>> sys.path // It's there
['$HOME/Documents/DjangoTutorial/mysite', '', '/usr/local/lib/python37.zip', '/usr/local/lib/python3.7', '/usr/local/lib/python3.7/lib-dynload', '/usr/local/lib/python3.7/site-packages']
>>>
En resumen, PYTHONPATH es una forma de especificar las rutas de búsqueda de Python para los módulos importados en sys.path. También puede aplicar operaciones de lista directamente a sys.path sin la ayuda de PYTHONPATH.
PYTHONPATH
. Úselosys.path
para eso.