Cuando se importa un módulo no incorporado, el intérprete busca en las ubicaciones indicadas en sys.path
. sys.path
se inicializa a partir de estos lugares (http://docs.python.org/library/sys.html#sys.path):¿Cómo se determina la ruta de búsqueda del módulo python en Mac OS X?
- el directorio que contiene la secuencia de comandos de entrada (o el directorio actual)
- PYTHONPATH
- la instalación dependiente predeterminado
Mientras que los dos primero las fuentes son directas, ¿alguien puede explicar cómo funciona el tercero y qué posibilidades hay para influir en él?
A pesar de que estaría interesado en una solución general, mis problemas específicos son:
- He instalado el Enthought distribution 7.2 32-bit, y luego Scipy-Superpack. Ahora Python pensado en importar intenta numpy desde
/Library/Python/2.7/
, que es donde superpack los instaló, en lugar de desde los paquetes de sitio enthought. - a
wxPython
aplicación creada conpy2app
-A
no tiene el mismosys.path
que al iniciar la aplicación conpython start_app.py
.
Gracias por esta respuesta! La razón por la que estoy interesado en la tercera fuente específicamente es para los casos en que hay bibliotecas no deseadas que no están en 'PYTHONPATH', que causan un error en el que no tengo acceso directo a sys.path, p. al construir la documentación de esfinge. – christianbrodbeck