python-3.x - python multiprocessing.pool() OSError: [Errno 22] 无效参数
问题描述
我尝试运行此代码:
import numpy as np
import multiprocessing
from functools import partial
CPUS = multiprocessing.cpu_count() # Anzahl der CPUs/Threads: 4
anzahl = CPUS-1
WORKERS = multiprocessing.Pool(processes=anzahl)
我尝试在 3 台不同的计算机上运行它:在 2 台计算机上一切正常,但在 1 台计算机上出现以下回溯错误:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "L:\Python\lib\multiprocessing\spawn.py", line 116, in spawn_main
exitcode = _main(fd, parent_sentinel)
File "L:\Python\lib\multiprocessing\spawn.py", line 125, in _main
prepare(preparation_data)
File "L:\Python\lib\multiprocessing\spawn.py", line 236, in prepare
_fixup_main_from_path(data['init_main_from_path'])
File "L:\Python\lib\multiprocessing\spawn.py", line 287, in _fixup_main_from_path
main_content = runpy.run_path(main_path,
File "L:\Python\lib\runpy.py", line 264, in run_path
code, fname = _get_code_from_file(run_name, path_name)
File "L:\Python\lib\runpy.py", line 234, in _get_code_from_file
with io.open_code(decoded_path) as f:
OSError: [Errno 22] Invalid argument: 'L:\\Python\\<input>'
我不知道如何解决这个问题。有人能帮我吗?我的 Python 版本:Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)] on win32
解决方案
解决方法(在 PyCharm 2020.3.2 中测试)是__file__
在实例化池之前将控制台变量更改为现有文件的名称
推荐阅读
- javascript - API 调用在我的本地机器上返回 JSON,但在 Heroku 上返回 HTML
- javascript - 如何从 React 中的类外部调用函数?
- wordpress - 如何在没有插件的情况下将验证码添加到 WordPress 管理员登录表单
- php - 如何检查一个坐标(纬度和经度)是否在 PHP 中的其他两个坐标之间?
- php - 如果名称已经出现在数组中,那么 PHP 中是否有一种方法来获取数据,然后内爆两个级别的数组?
- python - 弹出警报 - 搜索循环
- c++ - 如何在 tinkercad 中包含 iostream
- javascript - 如何在根据星级(声誉)过滤用户的反应js中以模式打印星形图标?
- reactjs - 如何在反应打字稿中将 ref 添加到 CSVLINK?
- vue.js - nuxt 项目 (datatable.net) 上的 datatable.js