Python.h 未在 virtualenv 中从源代码中找到来自 Tensorflow 的构建

Python.h not found building from Tensorflow from source in virtualenv

使用 virtualenv 构建 tensorflow 时出现以下错误:

fatal error: Python.h: No such file or directory

这通常意味着需要安装 python-dev 包:

sudo apt-get install python3-dev

在我的例子中,它已安装,但 bazel 不知道在哪里寻找 Python.h,因为 Python 解释器存在于 virtualenv 中。有没有办法在没有 的情况下包含系统的 Python 头文件?

在使用 bazel 构建之前设置 PYTHON_INCLUDE_PATH 环境变量(参见 github issue):

export PYTHON_INCLUDE_PATH="/usr/include/python3.6m"
bazel build ...

您可以使用以下命令找到此目录路径:

find / -name Python.h 2>/dev/null