我有一个名为ABC的文件夹,其中包含一个名为file_function.py
的文件,即
ABC
file_function.py
我在ABC中有一个名为folder_function的文件夹,其中包含一个名为main_function.py
的文件,即
ABC
folder_function
main_function.py
在main_function.py
中,我调用file_function.py
中定义的函数xyz
。我在main_function.py
from ABC.file_function import xyz
然而,这导致ModuleNotFoundError: No module named 'xyz'
.
我在其他帖子中尝试过解决方案,但没有运气。有什么问题吗?会不会是环境设置错误?我该如何调试它?
提前谢谢你。
file function不在folder function (main_function的父函数)中,所以它会给出这个错误。一个类似的例子是,你的python程序无法访问你的照片文件夹,因为它们是完全不同的目录!
尝试重新组织文件。如果它仍然不工作,那么试试这个:
from ABC import file_function
from file_function import xyz
为了使.py文件的文件或文件夹可以用。符号,它们需要是模块。模块由它在每个根目录下的__init__.py
文件定义。__init__.py
可以为空,但它必须存在,在本例中是在ABC文件夹和folder_function文件夹中。
更多信息
__init__.py
是干什么用的?
关于如何构建项目和模块的想法。
转到python下载位置并搜索python39文件。在里面你会发现pip39。在地址栏中,用鼠标点击以显示完整的地址,类似下面的内容C:UsersUSER1AppDataLocalProgramsPythonPython39Scripts现在打开屏幕左下方的放大镜,在搜索框中输入systemm .cpl。系统属性框将打开,选择advance,向下滚动到窗口底部并选择环境变量将打开一个带有两个框的窗口,在下面的框中搜索单词PATH并双击它。将出现一个新窗口。选择名为path的路径,键入或粘贴上面显示的路径,当然,在所有情况下,根据系统中的情况,它将以C:开始,以Script结束,然后单击确定,直到所有窗口消失现在回到Terminal并单击Run。ModuleNotFoundError将消失:没有名为'无论模块名称'的模块,脚本运行成功