问题:
python3版本
from .logins.py import login1
报错信息:
ModuleNotFoundError: No module named '__main__.XX'; '__main__' is not a package
提示没有找到名为 '__main__.XX'的模块,'__main__' 并不是一个包。
原因:
不能简单的这样执行,这样执行的话,模块的名字被变成了main
文件目录.png
例子:
logins.py
def dog(self):
print("狗在跑")
login1.py里,调用run来执行
from .logins import dog
dog() #调用函数
报错信息.png
所以使用from的话,还是建议使用目录开始的路径比较好,直接使用相对路径会出现问题
解决办法:不使用相对路径。
- 把name.py的上级路径放到系统path里
- 把name.py的上级目录作为工程目录打开
login1.py里,更改相对路径
from my.my_py.logins import dog
dog() #调用函数
更改后执行结果.png