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

OR-Tools致Python3.12仅在Windows办公环境崩溃,疑与MSVCP140.dll相关

问题:OR-Tools在无管理员权限的Windows环境执行solver.solve()时崩溃

我编写了如下基于OR-Tools的Python代码:

from ortools.sat.python import cp_model


print("1/4")
model = cp_model.CpModel()
print("2/4")
solver = cp_model.CpSolver()
print("3/4")
solver.solve(model)  # <------------ 此处崩溃!
print("4/4")

该代码在我家中拥有管理员权限的Windows 10 Home环境运行正常,但在公司两台无管理员权限的Windows Server 2016 Standard和Windows 10 Enterprise环境中,执行到solver.solve()时崩溃,无法输出4/4。

三台设备均使用相同版本的Python:

Python 3.12.1 (tags/v3.12.1:2305ca5, Dec  7 2023, 22:03:25) [MSC v.1937 64 bit (AMD64)] on win32

查看Windows事件日志发现:

Faulting application name: python.exe, version: 3.12.1150.1013, time stamp: 0x65724223
Faulting module name: MSVCP140.dll, version: 14.36.32532.0, time stamp: 0x04a30cf0
Exception code: 0xc0000005
Fault offset: 0x0000000000012f58
Faulting application path: C:\Users\.......\Python312\python.exe
Faulting module path: C:\Windows\SYSTEM32\MSVCP140.dll

请问崩溃原因可能是什么?是否是企业杀毒软件干扰?是否需要更换Python版本?我测试的其他外部库(如pandas、oracledb)在所有环境均运行正常。


可能的原因与解决方案

1. 企业安全软件/组策略限制

事件日志中的0xc0000005是访问违例错误,大概率是企业环境的杀毒软件、EDR工具或组策略限制了OR-Tools底层C++组件的运行。这类安全工具常会拦截有系统调用行为的程序组件,无管理员权限的环境下管控会更严格。

  • 验证方式:联系IT部门临时禁用测试设备的安全软件,再运行代码测试;检查组策略是否有禁止执行特定DLL或限制内存访问的规则。

2. MSVCP140.dll版本不兼容

OR-Tools依赖特定版本的Visual C++ Redistributable组件,企业环境的系统组件可能因更新策略限制,版本与OR-Tools要求不匹配,导致调用崩溃。

  • 解决方案:下载安装对应版本的Microsoft Visual C++ Redistributable for Visual Studio 2022(选择x64版本,可选择“仅为当前用户安装”);对比家中环境的MSVCP140.dll版本,在企业环境替换为相同版本(需IT协助)。

3. Python版本兼容性问题

Python 3.12属于较新版本,OR-Tools对其的适配可能存在边缘情况,尤其是在受限环境下。虽然其他库运行正常,但OR-Tools的底层绑定可能对Python 3.12的特性适配不完善。

  • 解决方案:降级到Python 3.11版本(OR-Tools对该版本支持更成熟),重新安装OR-Tools后测试;执行pip install --upgrade ortools更新到最新稳定版OR-Tools。

4. 权限不足导致资源访问失败

OR-Tools执行solve()时可能需要写入临时缓存文件、访问特定系统资源,无管理员权限的用户可能没有这些资源的访问权限,进而引发崩溃。

  • 验证方式:将代码和Python环境放在用户有权限的目录(如C:\Users\你的用户名\Documents)下运行;检查OR-Tools的临时目录配置,手动指定到用户可读写的路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 03:27:34