Reputation: 1243
Right, I have a structure like so:
/Project
__init__.py
script_a.py
/tests
__init__.py
test_something.py
When test_something
tries to import using from . import script_a
it returns the error Attempted relative import in non-package
.
I've put in the empty __init__.py
files and added /Project
to PYTHONPATH
but it still throws up this error!
Any ideas?
EDIT:
I have now used a tester.py
situated in \Project
and call:
import script_a
from tests.test_something import *
Now it works!!
Upvotes: 0
Views: 606
Reputation: 7592
When
test_something
tries to import usingfrom . import script_a
it returns the errorAttempted relative import in non-package
.
Using one dot .
will lead you to the current directory. You should use two dots ..
to get to the parent dir.
You cannot run a module with a relative import itself. You can only import it. So test_something.py
can only run as an import but it is not possible to run the script as __main__
Upvotes: 1