問題:
python3版本
from .logins.py import login1
報(bào)錯(cuò)信息:
ModuleNotFoundError: No module named '__main__.XX'; '__main__' is not a package
提示沒有找到名為 '__main__.XX'的模塊铣口,'__main__' 并不是一個(gè)包运怖。
原因:
不能簡(jiǎn)單的這樣執(zhí)行卖子,這樣執(zhí)行的話,模塊的名字被變成了main
例子:
logins.py
def dog(self):
print("狗在跑")
login1.py里官觅,調(diào)用run來執(zhí)行
from .logins import dog
dog() #調(diào)用函數(shù)
所以使用from的話纵菌,還是建議使用目錄開始的路徑比較好,直接使用相對(duì)路徑會(huì)出現(xiàn)問題
解決辦法:不使用相對(duì)路徑休涤。
- 把name.py的上級(jí)路徑放到系統(tǒng)path里
- 把name.py的上級(jí)目錄作為工程目錄打開
login1.py里咱圆,更改相對(duì)路徑
from my.my_py.logins import dog
dog() #調(diào)用函數(shù)