I have a problem importing files in Python 3.6. My directories tree is as given below:
project/app/├── __init__.py├── a.py└── b.pytest/├── __init__.py├── test_a.py└── test_b.py
It works my application (but, no works the tests) using following import statement in b.py
:
from a import *
But, it does not work my application (but, works the tests) using this other in b.py
:
from .a import *
So, I choose from a import *
. Executing test like python3 -m unittest
I always get following error:
E.
======================================================================
ERROR: tests.test_cell (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: tests.test_cell
Traceback (most recent call last):File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/loader.py", line 428, in _find_test_pathmodule = self._get_module_from_name(name)File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/loader.py", line 369, in _get_module_from_name__import__(name)File "/Users/serrodcal/Repositories/project/tests/test_b.py", line 2, in <module>from app.b import *File "/Users/serrodcal/Repositories/project/app/b.py", line 1, in <module>from a import *
ModuleNotFoundError: No module named 'a'----------------------------------------------------------------------
Ran 2 tests in 0.001sFAILED (errors=1)
In this case, my import statement in test_b.py
is as given below:
from unittest import TestCase
from app.cell import *
Is there any way to fix this problem?