OR-工具仅在 Windows 工作环境中导致 Python 3.12 崩溃;也许与 MSVCP140.dll 相关?

问题描述 投票:0回答:1

我使用 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)  # <------------ crashes here!
print("4/4")

当我在家用计算机上运行它时,它显然工作正常......但是当我在工作中的 2 个不同环境中运行它时,它在

solver.solve()
上崩溃并且永远不会打印出来
4/4

在家里,我拥有具有管理员权限的 Windows 10 Home。在工作中,我拥有 Windows Server 2016 StandardWindows 10 Enterprise,没有管理员权限。

所有 3 台机器都有完全相同的 Python 版本:

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

当我查看 Window 的事件日志查看器时,我看到以下内容:

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 的执行?我应该尝试不同的(最新的?)Python 版本吗?

我尝试过的一些其他外部 Python 库(例如

pandas
oracledb
)似乎对我来说在任何地方都工作得很好。

python or-tools msvcrt cp-sat
1个回答
0
投票

我认为这是 Google.OrTools.Sat CPSolver.Solve 的重复项导致 AccessViolationException

OR-Tools CP-SAT python 示例在创建求解器后终止

请参阅发行说明:https://github.com/google/or-tools/releases/tag/v9.10

您需要将 Visual Studio 更新到最新补丁,或安装最新的可再发行库。

我们收到多份报告称,一旦完成此操作,用户的问题就得到了解决。

© www.soinside.com 2019 - 2024. All rights reserved.