在CentOS上找不到Python.h文件

xu3bshqb  于 2022-11-07  发布在  Python
关注(0)|答案(9)|浏览(258)

我试图在CentOS机器上编译一个用C编写的Python扩展。

error: Python.h: No such file or directory

它在ubuntu上运行得很好,我在ubuntu上用apt-get安装了python-dev。
我试着安装python-devel

yum install python-devel

但它已经安装了。如何修复此错误?

wfsdck30

wfsdck301#

如果您使用python3,您可以为此安装python34-devel
它在EPEL Repository上可用,并且有python34-devel package可用
您只需运行此命令即可安装

yum install python34-devel

希望能帮上忙

*注意目前python34-devel是python 3.4的最新版本

lymnna71

lymnna712#

在我的系统中,Python.h头文件位于路径/usr/include/python2.6/中。由于预处理器默认不搜索此路径,因此必须将其添加到要搜索的路径列表中。这是通过编译器的-I选项完成的,如下所示:

$ gcc -I/usr/include/python2.6 source.c -o program

将上面的路径更改为您系统上的实际路径。您可以使用注解中建议的find命令或locate命令(如果已安装)找到它。

mec1mxoz

mec1mxoz3#

  • 对于CentOS 7.4
  • Python 3.6.6yum -y install python36-devel
  • Python 2yum -y install python-devel
  • 对于Ubuntu
  • Python 3.6apt-get install libpython3.6-dev
wb1gzix0

wb1gzix04#

对于8分以上

dnf install -y python3-devel
vktxenjb

vktxenjb5#

如果您运行的是Centos 8,则可以用途:

dnf install -y python38-devel

dnf安装-y python3-devel 对我不起作用。

qlvxas9a

qlvxas9a6#

我遇到过一个类似的问题,默认的Python是2.7,但是pip运行的是3.4,我想使用2.7。所以我做了:yum remove python34-pipyum install python2-pip,解决了!

gj3fmq9x

gj3fmq9x7#

我也有类似问题。
./python/py_defines.h:39:20:创建一个新的文件夹。致命错误:Python.h:没有这样的文件或目录
而find命令显示python.h存在。
上述解决方案不起作用,但下面的命令执行对我起作用。

yum install python27-python-devel.x86_64

没有太大的不同,但浪费了很多时间。

bvpmtnay

bvpmtnay8#

在Centos6.X上安装python3.4(包括pip)和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
ukqbszuj

ukqbszuj9#

这取决于你拥有的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

相关问题