我在RedHat上写了一个小c程序:
#include <Python.h>
#include <stdio.h>
int main() {
printf("Hello, Python!\n");
return 0;
}
并出现以下错误:
main.c:1:20: fatal error: Python.h: No such file or directory
所以我找到了以下答案:fatal error: Python.h: No such file or directory
已安装 python-devel。我确认/usr/include/python2.7/Python.h
存在,并且仍然遇到相同的错误。
当然是在运行时gcc main.c -I/usr/include/python2.7/
一切编译都很好。
我的问题是:
添加-I/usr/include/python2.7/
是否正确编译时,或者是否存在 gcc 应该期望的某种内置环境变量(例如 PYTHON_DEV_HOME)。
我认为这是一个有点奇怪的问题,但我问的原因是因为我在 TensorFlow(git 克隆)中遇到了相同的错误,它应该立即编译。既然不是,我假设我的环境缺少一些东西......
最佳答案
这很正常。
您不能指望 gcc
读取 Python 环境变量 - gcc
独立于 Python 并且与其没有任何连接。 Python 可以使用 gcc
,(可能)还有数千种其他产品,但其他编译器也应该可以使用。
gcc
环境变量列出 here 。看一下CPATH
,它可以用来代替-I
,但请确保您准确地阅读了它的作用。 C_INCLUDE_PATH
是一种替代方案。
关于python - gcc 应该在不传递 -I/usr/include/python2.7/的情况下找到 Python.h 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46048236/