Estoy tratando de seguir PEP 328 , con la siguiente estructura de directorios:
pkg/
__init__.py
components/
core.py
__init__.py
tests/
core_test.py
__init__.py
En core_test.py
tengo la siguiente declaración de importación
from ..components.core import GameLoopEvents
Sin embargo, cuando ejecuto, aparece el siguiente error:
tests$ python core_test.py
Traceback (most recent call last):
File "core_test.py", line 3, in <module>
from ..components.core import GameLoopEvents
ValueError: Attempted relative import in non-package
Al buscar, encontré que "la ruta relativa no funcionaba incluso con __init__.py " e " Importar un módulo desde una ruta relativa ", pero no me ayudaron.
¿Hay algo que me falta aquí?
no module named myimports.foo
cuando los ejecuto.
cd
entrar PyImports
y ejecutar python -m unittest tests.test_abs
, por ejemplo.
unittest
proyectos, así que escribí este proyecto de muestra bastante exhaustivo que cubre la anidación profunda de módulos, importaciones relativas y absolutas (donde funcionan y no), y referencias relativas y absolutas desde dentro de un paquete, así como importación de clases simple, doble y a nivel de paquete. Ayudado a aclarar las cosas hasta para mí!