Hola,
necesito hacer import de una serie de modulos, pero solo se sabe el
path exacto en "run time".
Trabajo con "legacy code" que hace el import de estos modulos con __import__( )
Pero ahora los paths incluyen en punto, de esta forma
/./package/api/1.0/foo.py
/./package
Jamás se debe usar módulos con puntos!
La convención viene de PEP8:
https://www.python.org/dev/peps/pep-0008/#package-and-module-names
La razón es que en Python 2.4 se introduj el PEP328 con soporte para
los imports locales: https://www.python.org/dev/peps/pep-0328/
Y por tanto utilizar punto en
acabo de comprobar que tampoco se puede hacer un import normal
from 1.2 import foo
Mmmm. Tal vez tenga que cambiar los paths a algo como
//package/api/v1_0/foo.py
//package/api/v1_1/foo.py
//package/api/v1_2/foo.py
El día 11 de diciembre de 2015, 11:42, Sergio
El vie., 11 dic. 2015 a las 17:46, Jose Caballero ()
escribió:
> acabo de comprobar que tampoco se puede hacer un import normal
>
> from 1.2 import foo
>
> Mmmm. Tal vez tenga que cambiar los paths a algo como
>
> //package/api/v1_0/foo.py
> //package/api/v1_1/foo.py
>