I've installed separate Python versions on Centos 6.7 using the instructions listed here, using a local install (not my package manager).

When I tried to install [setuptools][2] (e.g. python3.5 ez_setup.py) to my new Python versions, I got the titular error message ("No module named '_struct'"). I can't install versions of Python more recent than 2.6 using the package manager (a suggested solution to similar post) due to priority protections.

Does anybody know a simpler solution that does not require messing with the package manager? Or, alternately, is there some obvious way to work around the priority protections that doesn't involve any risk to other programs?

Update: I avoided using setuptools entirely by installing [Anaconda][4], which worked like a dream.


You should always use your system package manager when possible. There is a safe way to get newer versions of Python on CentOS/RHEL, as proper RPM packages. It is called the IUS project, and we offer multiple versions of Python.

After setting up the repo, you can get Python 3.5 by running the command yum install python35u. You will then have the command python3.5 available, as well as the pyvenv-3.5 command for creating virtual environments.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.