I am trying to compile a Python extension written in C on a CentOS machine. I am getting
error: Python.h: No such file or directory
It works fine on ubuntu, where I have python-dev installed using apt-get.
I tried installing python-devel using
yum install python-devel
but it is already installed. How do I fix this error?
I had a similar problem where default Python was 2.7 but pip was running against 3.4, and I wanted to use 2.7. So I did:
yum remove python34-pip
andyum install python2-pip
. Solved it!This depends on the Python you have!
You need a
dev
package, the version X.X.X for Python X.X.X you have, you can search on https://centos.pkgs.org/7/ius-x86_64.By example, if you have Python 3.6.5 from IUS, you need to install https://centos.pkgs.org/7/ius-x86_64/python36u-devel-3.6.5-1.ius.centos7.x86_64.rpm.html.
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
Install
python3.4
(include pip) &python3.4-dev
packages on Centos6.X:You should first remove original python.
Then install python-devel by
This method should be useful.
I too had similar problem.
Whereas the find command showed that the
python.h
exists.The above solutions did not work however the below command execution worked for me.
Not much different but wasted lots of time.