或根据协议缓冲区3.5.1版本编译的工具,与安装的版本不兼容

时间:2019-04-11 12:15:07

标签: python installation protocol-buffers or-tools

我在Mac上使用pip install ortools安装了OR Tools。现在,我尝试运行Google在https://developers.google.com/optimization/routing/vrp#solution上给出的示例代码。

在导入from ortools.constraint_solver import pywrapcp时,程序崩溃,并显示以下消息:

  

[libprotobuf FATAL google / protobuf / stubs / common.cc:86]该程序是根据协议缓冲区运行时库的3.5.1版编译的,该库与已安装的版本(3.7.1)不兼容。请与程序作者联系以获取更新。如果您自己编译程序,请确保标头与链接时库来自相同版本的协议缓冲区。 (“ ortools / gen / ortools / data / rcpsp.pb.cc”中的版本验证失败。)   libc ++ abi.dylib:终止于类型为google :: protobuf :: FatalException的未捕获异常:此程序是根据协议缓冲区运行时库的3.5.1版编译的,该库与已安装的版本(3.7.1)不兼容。请与程序作者联系以获取更新。如果您自己编译程序,请确保标头与链接时库来自相同版本的协议缓冲区。 (“ ortools / gen / ortools / data / rcpsp.pb.cc”中的版本验证失败。)

我删除了protobuf的3.7.1版本,并在pip的帮助下安装了3.5.1:

Name: protobuf
Version: 3.5.1
Summary: Protocol Buffers
Home-page: https://developers.google.com/protocol-buffers/
Author: protobuf@googlegroups.com
Author-email: protobuf@googlegroups.com
License: 3-Clause BSD License
Location: /Users/Martijn/anaconda/lib/python3.5/site-packages
Requires: setuptools, six

但是我仍然收到相同的错误消息。有人遇到此问题吗?

OR工具:

Name: ortools
Version: 6.7.4973
Summary: Google OR-Tools python libraries and modules
Home-page: https://developers.google.com/optimization/
Author: Google Inc
Author-email: lperron@google.com
License: Apache 2.0
Location: /Users/Martijn/anaconda/lib/python3.5/site-packages
Requires: six, protobuf

由于某些原因,我无法使用pip升级到较新版本的OR Tools。

1 个答案:

答案 0 :(得分:0)

可以升级到python 3.6吗? 最新版本(7.0)在Mac上支持2.7、3.7和3.7。

请注意,它们是使用3.6.1构建的。 下一版本将包含3.7.1。