Estoy tratando de importar un módulo desde un directorio particular.
El problema es que si sys.path.append(mod_directory)
añado la ruta y luego abro el intérprete de Python, el directorio mod_directory
se agrega al final de la lista sys.path. Si exporto la PYTHONPATH
variable antes de abrir el intérprete de Python, el directorio se agrega al comienzo de la lista. En el último caso, puedo importar el módulo, pero en el primero, no puedo.
¿Alguien puede explicar por qué sucede esto y darme una solución para agregarlo mod_directory
al inicio, dentro de un script de Python?
python
mechanize
python-import
pythonpath
Imaginación no adulterada
fuente
fuente
site
módulo .Respuestas:
Esto funciona según lo documentado. Todas las rutas especificadas en
PYTHONPATH
se documentan como normalmente después del directorio de trabajo pero antes de las rutas estándar proporcionadas por el intérprete.sys.path.append()
se agrega a la ruta existente. Mira aquí y aquí . Si desea que un directorio en particular sea el primero, simplemente insértelo en la cabecera de sys.path:Dicho esto, generalmente hay mejores formas de administrar las importaciones que usarlas
PYTHONPATH
o manipularlassys.path
directamente. Ver, por ejemplo, las respuestas a esta pregunta .fuente
Podrías usar:
fuente
En cuanto a mí, necesito cuidar mi ruta de Python. Puedo agregar su ruta al archivo
/home/xy/.bashrc
agregandoexport PYTHONPATH=/home/xy/caffe-master/python:$PYTHONPATH
.a mi
/home/xy/.bashrc
archivoPero cuando uso pycharm, el camino todavía no está.
Entonces puedo agregar la ruta a la
PYTHONPATH
variable, ejecutando -> editar configuración.fuente
Cambiar directorios temporalmente funciona bien para importar:
fuente
Al ejecutar un script de Python desde Powershell en Windows, esto debería funcionar:
fuente