You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地正常的Django多进程在Ubuntu服务器报错:__init__()意外参数'initializer'

问题解决:ProcessPoolExecutor 初始化参数报错

问题原因

initializer参数是Python 3.9才新增到ProcessPoolExecutor构造函数中的,你的服务器虽升级到Python 3.7.5,但仍低于3.9版本,因此会抛出__init__() got an unexpected keyword argument 'initializer'错误。本地环境应该使用了Python 3.9+,所以能正常运行。

解决方案

方案1:升级服务器Python版本

将服务器Python版本升级到3.9及以上,即可直接使用initializer参数。

方案2:手动在子进程函数中初始化Django

如果无法升级Python,修改wallet_verify函数,在函数开头手动调用django.setup(),同时注意Django模型的导入要放在函数内部(避免子进程未初始化时导入出错):

def wallet_verify(item):
    # 子进程中初始化Django环境
    import django
    django.setup()
    # 在这里导入需要用到的Django模型等模块
    from yourapp.models import YourModel
    # 后续业务逻辑
    # ...

然后修改视图代码,去掉initializer参数:

def verifyt(request):
    listi = get_listi()
    print("verifyt", listi)
    with ProcessPoolExecutor(max_workers=4) as executor:
        results = executor.map(wallet_verify, listi)
    return HttpResponse("done")

内容的提问来源于stack exchange,提问作者user18377368

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 20:30:28