2009-07-21 21 views

Respuesta

9

Python lo importará dos veces.

Un enlace es un concepto de sistema de archivos. Para el intérprete de Python, x.py y y.py son dos módulos diferentes.

 
$ echo print \"importing \" + __file__ > x.py 
$ ln -s x.py y.py 
$ python -c "import x; import y" 
importing x.py 
importing y.py 
$ python -c "import x; import y" 
importing x.pyc 
importing y.pyc 
$ ls -F *.py *.pyc 
x.py x.pyc [email protected] y.pyc 
10

es suficiente con tener cuidado en el caso en que la secuencia de comandos en sí es un enlace simbólico, en cuyo caso la primera entrada de sys.path será el directorio que contiene el destino del enlace.

+0

Ah, sí, me encontré con eso. Estoy señalando un script en mi área de "implementación", que durante el desarrollo es un enlace simbólico a la copia original que estoy editando. Me tomó mucho tiempo descubrir por qué Python no pudo encontrar otros módulos que están justo ahí en el mismo lugar donde existe el enlace simbólico. Bastante molesto, en realidad. –

Cuestiones relacionadas