在RedHat上构建tensorflow时非常奇怪的错误

时间:2017-09-04 14:48:55

标签: python tensorflow bazel

尝试按照此处的说明构建TensorFlow:

https://www.tensorflow.org/install/install_sources

奇怪地收到错误:

ERROR: /home/eladw/.cache/bazel/_bazel_eladw/dbbd970aeeecbb3cd584d511cefda723/external/protobuf_archive/BUILD:642:1: C++ compilation of rule '@protobuf_archive//:python/google/protobuf/internal/_api_implementation.so' failed (Exit 1).
     external/protobuf_archive/python/google/protobuf/internal/api_implementation.cc:31:20: fatal error: Python.h: No such file or directory
#include <Python.h>

即使我安装了python-dev。

Package python-devel-2.7.5-48.el7.x86_64 already installed and latest version
Nothing to do

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

在我已经开始执行bazel构建之后,当我做了 yum安装python36-devel 时,我收到了此错误。 ./ bazel-tensorflow / external / local_config_python / BUILD 已经缓存了不完整的标题列表。 清理边框,然后重新运行该版本,为我解决了该问题。

答案 1 :(得分:0)

此答案并不完全适用于您的情况,但是它将对以后遇到此问题的人有所帮助。

我遇到了同样的问题,但是在堆栈的最新版本上。 在我的情况下,问题是由于protobuf使用的Python 3.7 C API发生了变化,降级到Python 3.6可以解决此问题。更多信息herehere