python - python中具有多处理功能的任何代码都不起作用
问题描述
我有一个简单的多处理代码
from multiprocessing import Pool
def f(x):
return x*x
if __name__ == '__main__':
with Pool(5) as p:
print(p.map(f, [1, 2, 3]))
此代码重复出现相同的错误(如下所示)。不仅如此,任何内部调用多处理模块的库/函数(例如,reverse_geocoder,concurrent.futures 中的 ProcessPoolExecutor)都会显示相同的错误,而 ThreadPoolExecutor 运行得很好!!!我正在尝试在 Pycharm 中运行它,同样的代码在 Pycharm 中的另一台 PC 上运行良好请帮助。 错误
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Program Files\Python37\lib\multiprocessing\spawn.py", line 105, in spawn_main
exitcode = _main(fd)
File "C:\Program Files\Python37\lib\multiprocessing\spawn.py", line 114, in _main
prepare(preparation_data)
File "C:\Program Files\Python37\lib\multiprocessing\spawn.py", line 225, in prepare
_fixup_main_from_path(data['init_main_from_path'])
File "C:\Program Files\Python37\lib\multiprocessing\spawn.py", line 277, in _fixup_main_from_path
run_name="__mp_main__")
File "C:\Program Files\Python37\lib\runpy.py", line 261, in run_path
code, fname = _get_code_from_file(run_name, path_name)
File "C:\Program Files\Python37\lib\runpy.py", line 231, in _get_code_from_file
with open(fname, "rb") as f:
OSError: [Errno 22] Invalid argument: 'D:\\p\\r\\i\\b\\<input>'
解决方案
推荐阅读
- python - 使用python中的熊猫转换Dataframe中的时区
- flutter - Google SignIn with firebase in flutter Exception PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null)
- java - 无法在 Selenium webdriver 中使用 Xpath 或 CssLocator 获取列表中的搜索结果
- python-3.x - Python 3 请求和标头顺序
- android - Android 库模块可以实现 Hilt DI 吗?
- python - 无法在 Python 的同一程序中使用追加和重塑函数
- makefile - 递归 Makefile 无法识别子目录中的依赖关系更改
- python - 使用 pyinstaller 安装时如何运行 python 命令
- flutter - 颤动中屏幕底部的抽屉
- javascript - 如何不让潜在的滚动条影响填充?