Python:'ImportError:没有模块名为<my module =“”>'

时间:2017-11-29 13:52:16

标签: python python-2.7 configuration virtualenv setup-project

我正在使用PyCharm CE来开发一个类似于以下结构的项目:

test_python/
|-- app
|   |-- __init__.py
|   |-- mymodule.py
|   |-- mymodule.pyc
|   `-- test_mymodule.py
|-- config.py
`-- tests
    |-- __init__.py
    |-- test_config.py
    `-- test_models.py

当我尝试运行我的测试脚本(例如test_config.py)时,我得到:

$ python tests/test_config.py 
Traceback (most recent call last):
  File "tests/test_config.py", line 1, in <module>
    from config import app_config
ImportError: No module named config

我已经阅读了许多其他SO帖子,这些帖子谈论在所有目录包中都需要 init .py文件(我已经完成了)。许多人还建议弄乱sys.path。后一种方法的问题在于我以前从未涉及过这些路径。我不确定它是否因我的开发环境设置而改变,但现在是:

Python 2.7 | macOS Sierra | PyCharm CE

我曾尝试使用virtualenv安装虚拟环境,但没有看到任何区别。以下是github上的示例项目,如果您想自己运行

2 个答案:

答案 0 :(得分:0)

文件夹深度似乎存在问题。替换from ../config import app_config

答案 1 :(得分:0)

我认为如果将运行配置中的工作目录更改为test_python,它将起作用。 import语句中的所有包都与Python路径中的某些条目相关,而工作目录通常位于Python路径中。