在 OR Tools pywrapcp 中遇到 DLL 错误

Posted

技术标签:

【中文标题】在 OR Tools pywrapcp 中遇到 DLL 错误【英文标题】:Encountering DLL error in OR Tools pywrapcp 【发布时间】:2020-01-30 18:32:58 【问题描述】:

我使用 OR Tools V7.4 构建了一个路由模型,它在我的计算机上完美运行。但是由于某些情况,我需要 ir 让另一个团队成员运行代码。

在我创建模型和向我的团队成员提供更新到 V7.5 的责任或工具之间,我们遇到了他无法导入库中的模块之一的问题。尝试阅读发行说明,我没有发现模块(名称)有任何变化,我们拥有的所有内容实际上都相同,但他无法运行它。

我的 Python 是 3.7 和 64 位

这是代码:

from __future__ import print_function
import pandas as pd; 
import requests;
import os; 
from itertools import tee; 
import numpy as np
from pprint import pprint
from functools import partial
from six.moves import xrange
from ortools.constraint_solver import pywrapcp
from ortools.constraint_solver import routing_enums_pb2.

在我的电脑上我没有发现错误,而在他的电脑上我在导入 pywrapcp 时发现了这个错误

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-8731fb73bd10> in <module>
      8 from functools import partial
      9 from six.moves import xrange
---> 10 from ortools.constraint_solver import pywrapcp
     11 from ortools.constraint_solver import routing_enums_pb2

~\AppData\Local\Continuum\anaconda3\lib\site-packages\ortools\constraint_solver\pywrapcp.py in <module>
     11 # Import the low-level C/C++ module
     12 if __package__ or "." in __name__:
---> 13     from . import _pywrapcp
     14 else:
     15     import _pywrapcp

ImportError: DLL load failed: No se puede encontrar el módulo especificado.

我非常绝望,因为我认为这是一个非常愚蠢的错误并且很容易解决。

谢谢!!!

【问题讨论】:

你的 python 是 64 位的吗? 是的!我在问题中更新了它 您还应该提到您使用的是 Windows,因为我们也在 Linux 和 macOS 上提供它 【参考方案1】:

您可以在此处下载适用于 Visual Studio 2019 的 Microsoft Visual C++ Redistributable:https://aka.ms/vs/16/release/VC_redist.x64.exe

源代码:https://visualstudio.microsoft.com/downloads/?q=Redistributable 注意:必须选择 x64

【讨论】:

我有 Microsoft Visual C++ Redistributable 版本 14.28.29334.0 并且这个错误对我来说存在。我怎样才能解决这个问题? My os: Windows 10 x64【参考方案2】:

请安装 Visual Studio 2019 可再发行组件

【讨论】:

好的,但如果有错误请纠正我,但这对我有什么帮助,不是 C++ 吗?我在 Python 上运行它。只是问你是否可以再澄清一点。 OR-Tools 是一个用 python 包装的 c++ 代码。 C++ 部分是使用 Visual Studio 2019 构建的。要运行,您需要可再发行组件中包含的标准 C++ 库。

以上是关于在 OR Tools pywrapcp 中遇到 DLL 错误的主要内容,如果未能解决你的问题,请参考以下文章

MySQL安装遇到的问题

解决VMWareStation安装 tools 时 D:setup.exe 找不到的问题

启动tomcat时遇到的问题

自动化过程遇到的问题

vmware中装tools偏偏说要在虚拟机中运行

安卓6.0编译遇到的问题