我正在尝试使用 ProcessPoolExecutor 并行执行 Python 脚本(此处称为 file_2.py)。该脚本使用我在另一个文件(此处称为 file_1.py)中编写的函数。这两个文件都在同一个目录下。
如果我重视功能并按顺序运行脚本,一切都很好。此外,当我将函数从 file_2.py 复制到 file_1.py 时,脚本会并行顺利运行。但是,当我尝试结合使用 ProcessPoolExecutor 导入函数时,出现以下错误:
ModuleNotFoundError: 没有名为“file_1”的模块。
如果有人知道如何解决这个问题,我会很棒!提前致谢:)
这是我的文件的简化版本:
# file_1.py
def addition(a,b):
return a+b
# file_2.py
import functools
import numpy as np
import concurrent.futures
from file_1 import addition
if __name__ == '__main__':
lst = np.arange(10)
cons = 100
partial = functools.partial(addition, b=cons)
with concurrent.futures.ProcessPoolExecutor() as exc:
res = list(exc.map(partial, lst))