33

I am trying to install something in my virtual environment, which uses anaconda python 3.6. I get the gcc failed with exit status 1, hinting on the absence of the right python3-devel package, as described in error: command 'gcc' failed with exit status 1 while installing eventlet.

To fix the error, I tried to install the python3-devel package on my server running RHEL 7.3. I did yum install python3-devel, but got a 'package not found' error. Then I found https://serverfault.com/questions/710354/repository-for-python3-devel-on-centos-7, which hints to the python34-devel package in the EPEL repository. I installed it using yum, but upon trying to install something in my virtual environment, I still get the gcc failed with exit status 1 error.

Does someone know how I can fix this? All help would be much apprechiated.

Community
  • 1
  • 1
sequence_hard
  • 3,763
  • 9
  • 24
  • 46

3 Answers3

96

Search for the package in yum , use the following command:

yum search python3 | grep devel

It will list all the available devel packages. The result will be somewhat like this

python3-cairo-devel.x86_64 : Libraries and headers for python3-cairo
python3-devel.x86_64 : Libraries and header files needed for Python 3
                     : development
python34-devel.x86_64 : Libraries and header files needed for Python 3
                      : development

Then you can choose the package you want to install from the list , suppose if you want to to install python3-devel , execute the following

yum install -y python3-devel.x86_64
shahin
  • 2,650
  • 12
  • 16
  • 6
    `# yum search python3 // Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager // Warning: No matches found for: python3 No matches found` -- couldn't find it on my system – Levon Aug 03 '17 at 02:24
  • 1
    I want to give you 2 points but SO won't let me ... thanks man ... this is BY FAR the most straight forward answer – Goran B. Oct 29 '18 at 19:50
  • The above did not work for me, probably because I did not have repositories setup, so I found this here which worked:https://draculaservers.com/tutorials/install-python-3-centos-7/ Or just this---------------------------------------- sudo yum install centos-release-scl sudo yum install rh-python36 scl enable rh-python36 bash python --version – Brian Apr 27 '19 at 07:13
  • 1
    Which repo is python3-devel found? I have base, extras, epel and ius configured and it is not found. Pip search can't find it. I can only seem to find it on rpmfind.net and that is a source rpm. – fastzombies Jul 23 '19 at 23:01
11

There are no python3-* packages from Red Hat in Red Hat Enterprise Linux 6 or 7.

However there are python3-* packages available if you enable third party repos like EPEL or IUS. But, these are not supported by Red Hat. Chances are if you are running RHEL, your organization has a preference for supported packages.

You can get supported Python 3 packages from Red Hat via Red Hat Software Collections (RHSCL). Currently Python 3.6 is the newest available, the package name is rh-python36. Installing the RHSCL package will also install rh-python36-devel and a number of other packages.

See How to install Python 3, pip, venv, virtualenv, and pipenv on RHEL

Don't forget to install @development first, so you have gcc, make, etc. for building any dynamically loaded shared objects.

To install:

$ su -
# subscription-manager repos --enable rhel-7-server-optional-rpms \
  --enable rhel-server-rhscl-7-rpms
# yum -y install @development
# yum -y install rh-python36

# yum -y install rh-python36-numpy \
 rh-python36-scipy \ 
 rh-python36-python-tools \
 rh-python36-python-six

# exit

The blog linked above has lots of tips for working with Python, virtual environments, as well as software collections on Red Hat.

Rob T.
  • 326
  • 3
  • 5
8

I thought I might update this for 2020. As of RHEL 7.7, python-devel is not available in EPEL, it has been retired by Fedora Project. All I wanted for today was the python h files, and this got me there:

# yum install python3-devel.x86_64 --enablerepo=rhel-7-server-optional-rpms

We do have one of the Redhat No-Cost Developer licenses, but I am not sure that is required for the optional-rpms.

PS, this was helpful in verifying which packages of interest were in optional-rpms

# yum repo-pkgs rhel-7-server-optional-rpms list | grep python3