繁体   English   中英

ModuleNotFoundError:导入模块时没有名为“x”的模块

[英]ModuleNotFoundError: No module named 'x' while importing modules

在 Python 3 我尝试导入模块(它导入另一个模块)并且我得到ModuleNotFoundError 我的主模块如下所示:

from next_folder import adding
adding.add(1)

然后在文件夹next folder中,我还有另外两个模块。 第一个是adding.py

import substracting

def add(a):
    b = 1
    d = substracting.substract(20)
    c = a+b+d
    print(c)

第二个(在同一文件夹中)是substracting.py

def substract(c):
    d = c-1
    print(d)
    return d

运行main.py时出现以下错误:

  File "C:\Users\LENOVO\PycharmProjects\pythonProject\main.py", line 1, in <module>
    from next_folder import adding
  File "C:\Users\LENOVO\PycharmProjects\pythonProject\next_folder\adding.py", line 1, in <module>
    import substracting
ModuleNotFoundError: No module named 'substracting'

你能帮我修改这段代码,让main.py真正起作用吗? 谢谢!

在这种情况下,您可以使用相对导入

from . import substracting

在 python 3 中,仅以 from 的形式支持相对导入。 导入子模块

这也会起作用:

import next_folder.substracting as sub

def add(a):
    b = 1
    d = sub.substract(20)
    c = a+b+d
    print(c)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM