Friday, 11 August 2017

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

casting - Why wasn't Tobey Maguire in The Amazing Spider-Man? - Movies & TV

In the Spider-Man franchise, Tobey Maguire is an outstanding performer as a Spider-Man and also reprised his role in the sequels Spider-Man...