You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Following this section, adding from .context import sample in my tests module gives me the following error: ModuleNotFoundError: No module named '__main__.context'; '__main__' is not a package
I was able to fix it by removing the . from from .context import sample, but I suspect that's not the ideal solution. I know that the from .context import sample is a relative import statement as described in PEP 328, but I just do not understand modules, packages, absolute and relative imports, etc. enough to say what's going on here.
I tried creating ./__init__.py and ./tests/__init__.py files, but that did not help.
Finally, I tried the following:
~> git clone [email protected]:navdeep-G/samplemod.git
~> python3 samplemod/tests/test_basic.py
Traceback (most recent call last):
File "samplemod/tests/test_basic.py", line 3, in<module>
from .context import sample
ModuleNotFoundError: No module named '__main__.context';'__main__' is not a package
I'm not alone in hitting this issue. @rileyweber13 originally reported this problem a year ago.
The text was updated successfully, but these errors were encountered:
isaiahstjohn
changed the title
I'm not sure if this is pertinent, but I didn't want to open a new issue... I'm trying to write tests, and I'm working on [this section](https://docs.python-guide.org/writing/structure/#test-suite). In my tests modules, adding from .context import sample give me the following error: ModuleNotFoundError: No module named '__main__.context'; '__main__' is not a package
Structuring your project guide leads to a ModuleNotFoundError in the tests module
Oct 20, 2019
Relative imports only work in a package that is being imported due to using the __name__ variable that is set to "__main__" if the file is ran directly. If you import test_basic.py, it should work to run test_basic.sample. If you take out the period, you lose the ability to import the tests from elsewhere so what you want depends on how you're using the tests.
Following this section, adding
from .context import sample
in my tests module gives me the following error:ModuleNotFoundError: No module named '__main__.context'; '__main__' is not a package
I was able to fix it by removing the
.
fromfrom .context import sample
, but I suspect that's not the ideal solution. I know that thefrom .context import sample
is a relative import statement as described in PEP 328, but I just do not understand modules, packages, absolute and relative imports, etc. enough to say what's going on here.I tried creating
./__init__.py
and./tests/__init__.py
files, but that did not help.Finally, I tried the following:
I'm not alone in hitting this issue. @rileyweber13 originally reported this problem a year ago.
The text was updated successfully, but these errors were encountered: