尝试从不同级别的外部目录导入方法时出现Python ModuleNotFoundError

时间:2019-10-21 08:17:17

标签: python

我正在使用Python 3.6.0和pipenv。 我在pycharm中有一个名为myapp的python项目,目录结构为

- myapp
 - src
   - __init__.py
   - server.py
   - module
    - __init__.py
    - utils.py
    - model
      - __init__.py
      - model.py
 - tests
   - module
    - model
      - __init__.py
      - test_model.py

为清楚起见,srctests是同一级别的目录,该目录的每个级别中都存在 init .py。下面的main()方法位于model.py

内部
def main():
  from src.module.utils import get_method_from_utils
  from tests.module.model.test_model import to_json

from src.module.utils import get_method_from_utils有效

但是from tests.module.model.test_model import to_json不是

当我右键单击main()并在pycharm上单击Run 'model'时,它将返回ModuleNotFoundError: No module named 'tests.module',我怀疑是因为tests实际上位于{ {1}}。我尝试使用类似model的方法返回目录的外部级别,但是它不起作用。有解决办法吗?

1 个答案:

答案 0 :(得分:1)

tests文件夹应该是要导入的软件包。尝试添加__init__.py文件以使其成为一个包。您可以了解有关Python软件包Here的更多信息。