Estou tentando seguir o PEP 328 , com a seguinte estrutura de diretórios:
pkg/
__init__.py
components/
core.py
__init__.py
tests/
core_test.py
__init__.py
Em core_test.py
eu tenho a seguinte declaração de importação
from ..components.core import GameLoopEvents
No entanto, quando executo, recebo o seguinte erro:
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
Pesquisando, encontrei " caminho relativo que não funciona mesmo com __init__.py " e " Importar um módulo de um caminho relativo ", mas eles não ajudaram.
Falta alguma coisa aqui?
no module named myimports.foo
quando eu os corro.
cd
entrar PyImports
e executar python -m unittest tests.test_abs
, por exemplo.
unittest
projetos, por isso escrevi este projeto de amostra bastante exaustivo que abrange o aninhamento profundo de módulos, importações relativas e absolutas (onde o trabalho não funciona) e referências relativas e absolutas de dentro de um pacote, bem como importação única, dupla e no nível de pacote. Ajudou as coisas claras até para mim!