rutas ruta operaciones obtener navegar entre directorios directorio copiar con como carpetas buscar archivos archivo actual python linux mercurial

operaciones - Cómo eliminar el directorio actual de la ruta de importación de python



python directorios (2)

@ragol, creo que Padraic tiene la solución correcta. Dentro de la secuencia de comandos python que intenta ejecutar comandos hg, debe incluir el siguiente comando: sys.path.insert(0,"/usr/lib/pythonVERSION")

Coloque el comando al principio de su secuencia de comandos python. El comando le dice a python que mire en el directorio /usr/lib/pythonVERSION primero al importar módulos.

Si eso no funciona, es posible que deba ser más específico con la ruta. Por ejemplo, si el módulo que está tratando de importar está ubicado en el directorio /usr/lib/pythonVERSION/site-packages/hg , puede usar el siguiente comando: sys.path.insert(0,"/usr/lib/pythonVERSION/site-packages/hg")

Quiero trabajar con el repositorio mercurial de hg sí. Es decir, cloné Mercurial de https://www.mercurial-scm.org/repo/hg y quiero ejecutar algunos comandos hg dentro del repositorio clonado. El problema es que al ejecutar hg dentro de este clon hg ejecutable intenta cargar sus módulos de python desde este directorio y no desde /usr/lib/pythonVERSION etc. Según tengo entendido, esto sucede porque la ruta de importación de Python sys.path contiene una cadena vacía como primera entrada que probablemente significa "directorio actual". PYTHONPATH variable de entorno PYTHONPATH no está configurada.

La pregunta es cómo puedo evitar que mi hg instalado importe módulos "incorrectos".


La forma en que trataría el tema es creando un /usr/local/bin/hg sh con los siguientes contenidos:

#!/bin/sh PYTHONPATH=/usr/lib/pythonVERSION/site-packages /usr/bin/hg

(Los distributivos basados ​​en Ubuntu usan dist-packages lugar de site-packages )

PYTHONPATH es una variable de entorno especial respetada por el intérprete de Python para obtener rutas de importación de módulos adicionales.

Alternativamente, puede exportar PYTHONPATH a su caparazón, pero afectará su experiencia completa.