问题描述
这个设置出现了我的问题:
- Pycharm 2020.3 专业版
- multiprocessing.Pool
- Macbook pro 2020 (M1)
- 康达蟒蛇 3.8
最重要的是,当我使用 pycharm 的调试器时会发生这种情况。
它在控制台中显示了 8 次(进程数):Error loading: /Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/pydevd_attach_to_process/attach_x86_64.dylib
每个进程都被执行。结果是正确的。我可以用 htop 命令看到它们。所以这只是调试器故障,并不会真正影响代码执行(如果我错了,请纠正我)。
这是我运行的代码:
def func(x):
return x+10
if __name__ == '__main__':
poo = Pool()
x = [[i] for i in range(10)]
res = poo.starmap(func,x)
print(res)
我现在可以忽略控制台中的大量打印,但这并不方便。如果有人想摆脱这些……
解决方法
这听起来像是 JetBrains 开发人员需要为 M1 解决的问题(考虑 dropping them a bug report)。同时,我怀疑您可以在选项下禁用它:
PyCharm > 首选项 > 构建、执行、部署 > Python 调试器
并取消选中“调试时自动附加到子进程”框。请参阅 the pertinent docs 以供参考。