【问题标题】:OR Tools compiled against version 3.5.1 of the Protocol Buffer, not compatible with installed version或针对协议缓冲区版本 3.5.1 编译的工具,与已安装版本不兼容
【发布时间】:2019-04-11 12:15:06
【问题描述】:

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

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

[libprotobuf FATAL google/protobuf/stubs/common.cc:86] 该程序是针对 Protocol Buffer 运行时库的 3.5.1 版本编译的,该版本与已安装的版本 (3.7.1) 不兼容。联系程序作者获取更新。如果您自己编译程序,请确保您的标头来自与链接时库相同版本的 Protocol Buffers。 (“ortools/gen/ortools/data/rcpsp.pb.cc”中的版本验证失败。) libc++abi.dylib:以 google::protobuf::FatalException 类型的未捕获异常终止:该程序是针对 Protocol Buffer 运行时库的 3.5.1 版本编译的,该版本与已安装的版本 (3.7.1) 不兼容.联系程序作者获取更新。如果您自己编译程序,请确保您的标头来自与链接时库相同版本的 Protocol Buffers。 (“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

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

或工具:

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 工具。

【问题讨论】:

    标签: python installation protocol-buffers or-tools


    【解决方案1】:

    你能升级到 python 3.6 吗? 最新版本 (7.0) 在 mac 上支持 2.7、3.7 和 3.7。

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

    【讨论】:

    • 谢谢 Laurent,这对我来说很完美!对于有同样问题的人:我使用以下命令使用 anaconda 升级到 Python 3.6.8(最新 3.6 版本):conda install python==3.6.8.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-18
    • 1970-01-01
    • 1970-01-01
    • 2016-11-18
    • 2021-07-11
    • 2018-12-17
    相关资源
    最近更新 更多