我正在尝试在 CentOS 机器上编译用 C 编写的 Python 扩展。我正进入(状态
error: Python.h: No such file or directory
它在 ubuntu 上运行良好,我使用 apt-get 安装了 python-dev。
我尝试使用安装 python-devel
yum install python-devel
但它已经安装了。如何修复此错误?
如果你使用 python3 你可以为此安装 python34-devel
它在EPEL Repository上可用,并且有python34-devel 包可用
您只需运行此命令即可安装它
yum install python34-devel
希望有帮助
*注意此时python34-devel
是python 3.4的最新版本
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
在 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
我有一个类似的问题,默认 Python 是 2.7,但 pip 是针对 3.4 运行的,我想使用 2.7。所以我做了:yum remove python34-pip
和yum install python2-pip
。解决了!
对于 centos 8+
dnf install -y python3-devel
我也有类似的问题。
./python/py_defines.h:39:20:致命错误:Python.h:没有这样的文件或目录
而 find 命令显示python.h
存在。
上述解决方案不起作用,但以下命令执行对我有用。
yum install python27-python-devel.x86_64
没什么不同,但浪费了很多时间。
这取决于您拥有的 Python!
你需要一个dev
包,你拥有的 Python XXX 的版本 XXX,你可以在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。