在项目中导入python模块时,我遇到了一个相当著名的问题。
编写此代码是为了复制现有情况:
multiply_func.py
:
def multiplier(num_1, num_2):
return num_1 * num_2
power_func.py
:
from math_tools import multiplier
def pow(num_1, num_2):
result = num_1
for _ in range(num_2 - 1):
result = multiplier(num_1, result)
return result
项目结构:
project/
│ main.py
│
└─── tools/
│ __init__.py
│ power_func.py
│
└─── math_tools/
│ __init__.py
│ multiply_func.py
我已经将这些行添加到__init__
文件中,以使导入更容易:
__init__.py
(数学工具(:
from .multiply_func import multiplier
__init__.py
(工具(:
from .power_func import pow
from .math_tools.multiply_func import multiplier
这是我的主文件。
main.py
:
from tools import pow
print(pow(2, 3))
每当我运行它时,都会出现以下错误:
>>> ModuleNotFoundError: No module named 'math_tools'
我试着操纵sys.path
,但没能解决这个令人困惑的问题。我很感激你的帮助。提前谢谢!
你在"power_func.py";文件你必须使用。在math_tools之前引用当前目录模块。
更新";power_func.py";如下图所示,它运行得很好。
from .math_tools import multiplier