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

时间:2021-02-12 23:35:08

标签: python python-3.x modulenotfounderror

在 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 真正起作用吗?谢谢!

1 个答案:

答案 0 :(得分:0)

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

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)