stuff/
__init__.py
mylib.py
Foo/
__init__.py
main.py
foo/
__init__.py
script.py
script.py
quiere importar mylib.py
cómo llevar a cabo la importación relativa en pitón
Esto es sólo un ejemplo, pero en realidad sólo quiero hacer una importación relativa de un módulo en un directorio padre. He intentado varias cosas y sale este error ...
Attempted relative import beyond toplevel package
He leído en alguna parte que la secuencia de comandos desde donde se inicia el programa no debe en el paquete, y yo trataba de modificar la estructura para que como tal ...
stuff/
mylib.py
foo.py // equivalent of main.py in above
foo/
__init__.py
script.py
pero tengo el mismo error.
¿Cómo puedo lograr esto? ¿Es este un enfoque adecuado?
Editar: En Python 2
Lo tienes. Lo que sucede es que no puede usar importaciones relativas del script que está ejecutando desde la línea de comando, por lo que debería estar en el nivel superior de la organización, haciendo referencia a las cosas que están debajo. –
¿Por qué el script "principal" se estaba ejecutando desde dentro del paquete causaba los problemas? – Bin