导入时未找到模块错误

时间:2017-01-25 14:54:34

标签: python python-3.x

我正在尝试从classes.py文件中导入*。我的目录如下

mypkg
├── main.py
├── classes.py

当我尝试

from classes import *

它无法识别课程。抬头看,我看到我应该使用显式导入

from .classes import *

确实识别了类,但在我尝试运行它时会给出错误。

ModuleNotFoundError: No module named '__main__.classes'; '__main__' is not a package

关于该做什么以及为什么会这样做的任何建议都将受到极大的赞赏。

1 个答案:

答案 0 :(得分:2)

要让python将文件夹识别为包,您需要一个__init__.py文件:

mypkg
├── __init__.py
├── main.py
├── classes.py

调用python的目录也很重要(从包文件夹内部运行不同于从外部运行),还有PYTHONPATH环境变量。

python documentation作为import的一个部分和包装系统,有很好的解释。