代码之家  ›  专栏  ›  技术社区  ›  MathMan 99

Python:ModulentFoundation错误:没有名为“xyz”的模块

  •  0
  • MathMan 99  · 技术社区  · 4 年前

    我有一个文件夹,名为ABC,其中包含一个名为 file_function.py ,即。

    ABC
        file_function.py
    

    我在ABC中有一个名为folder_function的文件夹,其中包含一个称为 main_function.py ,即。

    ABC
        folder_function
            main_function.py
    

    In 主功能py 我正在调用中定义的函数 file_function.py 打电话 xyz 。我在中使用以下代码 主功能py

    from ABC.file_function import xyz
    

    然而,这导致 ModuleNotFoundError: No module named 'xyz' .

    我在其他帖子中尝试过解决方案,但没有成功。问题可能是什么?可能是环境设置错误吗?我该如何调试这个?

    提前感谢。

    2 回复  |  直到 4 年前
        1
  •  2
  •   Harry Richman Elmstead    3 年前

    为了使.py文件的文件或文件夹可以用调用。符号,它们需要是模块。模块由其定义 __init__.py 每个根目录下的文件。这个 __init__.py 可以为空,但它必须存在,在本例中为ABC文件夹和folder_function文件夹。

    更多信息

    What is __init__.py for?

    Thoughts on how you might want to structure your project and modules .

        2
  •  1
  •   Codeman    4 年前

    file函数不在folder函数(main_function的父函数)中,因此它将给出此错误。一个类似的例子是,你的python程序无法访问你的照片文件夹,因为它们是完全不同的目录!

    尝试重新组织文件。如果它仍然不起作用,那么试试这个:

    from ABC import file_function
    from file_function import xyz
    
        3
  •  0
  •   HLTC    4 年前

    转到python下载位置并搜索python39文件。在里面你会找到pip39。在地址行中,用鼠标单击以显示完整地址,内容将接近以下内容 C: \用户\USER1\AppData\本地\程序\Python\Python39\脚本 现在打开屏幕左下角的放大镜,在搜索框sysdm.cpl中键入。系统属性框将打开,选择前进,向下滚动到窗口底部并选择环境变量 将打开一个包含两个框的窗口,在下面的框中搜索单词PATH并双击它。将出现一个新窗口。选择名为path的路径,然后键入或粘贴上面显示的路径,当然,根据系统中的内容。在所有情况下,它都将以C:\开头,以\Script结尾,然后单击“确定”,直到所有窗口消失 现在返回终端并单击运行。ModuleNotFoundError将消失:没有名为“无论模块名称如何”的模块,脚本将成功运行