我正在尝试在CentOS机器上编译用C编写的Python扩展。我正在
error: Python.h: No such file or directory
它在ubuntu上运行正常,我使用apt-get安装了python-dev。
我尝试使用
安装python-develyum install python-devel
但它已经安装好了。如何解决此错误?
答案 0 :(得分:22)
如果你使用python3你可以为那个
安装python34-devel可在EPEL Repository上使用,并且python34-devel package可用
您只需运行此命令即可安装
yum install python34-devel
希望有所帮助
* note 此时python34-devel
是python 3的最新版本
答案 1 :(得分:8)
在我的系统上,Python.h
标头文件位于路径/usr/include/python2.6/
中。由于默认情况下预处理器不会搜索此路径,因此您必须将其添加到要搜索的路径列表中。这是通过编译器的-I
选项完成的,如下所示:
$ gcc -I/usr/include/python2.6 source.c -o program
将上面的路径更改为系统上的实际路径。您可以使用注释中建议的find
命令找到它,如果已安装locate
命令,则可以找到它。
答案 2 :(得分:0)
安装python3.4
(包括点子)& Centos6.X上的python3.4-dev
个包:
yum install http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/python34u-3.4.2-1.ius.centos6.x86_64.rpm
yum install http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/python34u-devel-3.4.2-1.ius.centos6.x86_64.rpm
答案 3 :(得分:0)
我有一个类似的问题,默认Python是2.7,但是pip是针对3.4运行的,我想使用2.7。所以我做了:yum remove python34-pip
和yum install python2-pip
。解决了!
答案 4 :(得分:0)
我也有类似的问题。
./ python / py_defines.h:39:20:致命错误:Python.h:没有这样的文件或 目录
而find命令显示python.h
存在。
上述解决方案无效,但以下命令执行对我有用。
yum install python27-python-devel.x86_64
没有太大的不同,但浪费了很多时间。
答案 5 :(得分:0)
这取决于您拥有的Python!
您需要一个dev
程序包,即拥有适用于Python X.X.X的X.X.X版本,您可以在https://centos.pkgs.org/7/ius-x86_64上进行搜索。
例如,如果您拥有IUS的Python 3.6.5,则需要安装https://centos.pkgs.org/7/ius-x86_64/python36u-devel-3.6.5-1.ius.centos7.x86_64.rpm.html。
答案 6 :(得分:0)
CentOS 7.4
Python 3.6.6
:yum -y install python36-devel
Python 2
:yum -y install python-devel
Ubuntu
Python 3.6
:apt-get install libpython3.6-dev
答案 7 :(得分:0)
centos 8+
dnf install -y python3-devel
答案 8 :(得分:-4)
你应该先删除原始的python。
sudo yum remove python
然后按
安装python-develsudo yum install python-devel
这种方法应该很有用。