为什么无法识别模块? (Python 3.7)

时间:2018-08-18 04:51:34

标签: python module package

我尝试创建一个程序包,但出现了该错误:

ModuleNotFoundError: No module named 'MyMainPackage'

这是我的文件夹:

MyMainPackage

__ pycache __(文件夹)

子包(文件夹)

__初始__。py

some_main_script.py

def report_main():
print("Hey I'm in some_main_script in main package.")

子包

__ pycache __(文件夹)

__初始化__。py

mysubscripts.py

def sub_report():
print("Hey I'm function inside mysubscript")

注意:“ MyMainPackage”是我的“ Programming”文件夹的子文件夹之一。我称为“ Python项目”的另一个子文件夹,在她的内部有该文件:

from MyMainPackage import some_main_script
from MyMainPackage.SubPackage import mysubscript

some_main_script.report_main()

mysubscript.sub_report()

运行文件时,出现错误。

Traceback (most recent call last):
File "c:/Users/yoavo/Desktop/Programing/Python Projects/myprogram.py", line 1, in <module>
from MyMainPackage import some_main_script
ModuleNotFoundError: No module named 'MyMainPackage'

2 个答案:

答案 0 :(得分:0)

请尝试将myprogram.py文件移动到Programming文件夹的根目录,这样您便具有这样的结构。 Python从您当前脚本的根文件夹中查找模块。

Programming
|
|__myprogram.py
|
|__MyMainPackage

答案 1 :(得分:0)

这可能是因为您没有准确地命名您的主包,您在主程序中调用的名称。请注意用于命名主包的空格和横杠。