我正在尝试从classes.py文件中导入*。我的目录如下
mypkg
├── main.py
├── classes.py
当我尝试
时from classes import *
它无法识别课程。抬头看,我看到我应该使用显式导入
from .classes import *
确实识别了类,但在我尝试运行它时会给出错误。
ModuleNotFoundError: No module named '__main__.classes'; '__main__' is not a package
关于该做什么以及为什么会这样做的任何建议都将受到极大的赞赏。
答案 0 :(得分:2)
要让python
将文件夹识别为包,您需要一个__init__.py
文件:
mypkg
├── __init__.py
├── main.py
├── classes.py
调用python
的目录也很重要(从包文件夹内部运行不同于从外部运行),还有PYTHONPATH
环境变量。
python documentation作为import
的一个部分和包装系统,有很好的解释。