Saturday, March 2, 2019

python - How to fix "Attempted relative import in non-package" even with __init__.py



I'm trying to follow PEP 328, with the following directory structure:



pkg/
__init__.py
components/

core.py
__init__.py
tests/
core_test.py
__init__.py


In core_test.py I have the following import statement



from ..components.core import GameLoopEvents



However, when I run, I get the following error:



tests$ python core_test.py 
Traceback (most recent call last):
File "core_test.py", line 3, in
from ..components.core import GameLoopEvents
ValueError: Attempted relative import in non-package



Searching around I found "relative path not working even with __init__.py" and "Import a module from a relative path" but they didn't help.



Is there anything I'm missing here?


Answer



Yes. You're not using it as a package.



python -m pkg.tests.core_test

No comments:

Post a Comment

plot explanation - Why did Peaches' mom hang on the tree? - Movies & TV

In the middle of the movie Ice Age: Continental Drift Peaches' mom asked Peaches to go to sleep. Then, she hung on the tree. This parti...