¿Cómo averiguo qué directorios figuran en la PYTHONPATH
variable de mi sistema , desde un script de Python (o el shell interactivo)?
python
python-module
pythonpath
Paul D. Waite
fuente
fuente
PYTHONPATH
. Úselosys.path
para eso.sys.path
es "Una lista de cadenas que especifica la ruta de búsqueda para módulos" - docs.python.org/2/library/sys.html#sys.path . PYTHONPATH es una variable de entorno que afecta a esta lista. Por cualquier definición razonablesys.path
es su "ruta de Python".python -m site
.Respuestas:
sys.path
podría incluir elementos que no están específicamente en suPYTHONPATH
variable de entorno. Para consultar la variable directamente, use:fuente
sys.path
.Probablemente también quieras esto:
O como un trazador de líneas desde la terminal:
Advertencia : si tiene instaladas varias versiones de Python, debe usar el comando correspondiente
python2
opython3
.fuente
python -c "import sys; print('\n'.join(sys.path))"
Parece que no puedo editar la otra respuesta. Tiene un pequeño error en que es solo de Windows. La solución más genérica es usar os.sep como se muestra a continuación:
sys.path puede incluir elementos que no están específicamente en su variable de entorno PYTHONPATH. Para consultar la variable directamente, use:
fuente
os.sep
devuelve el separador de directorio para el sistema operativo, por ejemplo/
. El separador utilizado en la ruta de Python es diferente y se devuelveos.pathsep
como se muestra en la respuesta aceptada.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:
SI se define en shell como
ENTONCES resultado =>
ELSE resultado =>
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:
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.
fuente
Python me dice dónde vive cuando me da un mensaje de error :)
fuente
Utilizar este:
O una línea del cmd:
fuente