我正在使用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的示例项目,如果您想自己运行它
文件夹深度似乎存在问题。替换from ../config import app_config
。
我认为如果将运行配置中的工作目录更改为test_python
,它将起作用。 import语句中的所有包都与Python路径中的某些条目相关,而工作目录通常位于Python路径中。