I've got a test script which imports modules from my application. This works when run with python -munittest, but it fails with ModuleNotFoundError if I simply use python tests/test_app.py.
This also happens with other scripts in this project which aren't unit tests.
$ python tests/test_app.py
Traceback (most recent call last):
  File "tests/test_app.py", line 2, in <module>
    import myapp
ModuleNotFoundError: No module named 'myapp'
$ python -munittest tests.test_app
....
----------------------------------------------------------------------
Ran 4 tests in 0.119s
OK
As you can see from the trace, it fails at the very beginning of the file, in the imports, where I use import myapp.
Project structure:
/project
  /myapp
    __init__.py
    models.py
  /otherapp
  /anotherapp
  /tests
    test_app.py
  /scripts
    a_script.py
What magic is the unittest module doing to make my script load?
How do I execute my script directly?
 
    