0

I'm doing an altinstall of Python 2.7.13 on RHEL7 which has 2.7.5 installed. Here's how I'm building from source:

$ ./configure --prefix=/usr/local --enable-shared
$ make && sudo make altinstall

However, even when I tried to access this altinstall directly, I'm getting the system Python, rather than the altinstall. I've put SELinux into permissive mode and get the same result.

$ /usr/local/bin/python2.7 -V
Python 2.7.5
$ getenforce
Permissive

and when I enter the interpreter

$ /usr/local/bin/python2.7
Python 2.7.5 (default, Aug  2 2016, 04:20:16)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 

I'm at a loss here. From everything I've been reading this should work. The only thing I can think of is that since they're both 2.7.X there's some sort of conflict, but I thought that was the reason for altinstalls in the first place.

Tyler_1
  • 176
  • 1
  • 2
  • 11

1 Answers1

1

I believe you're running into the same problem as in this thread: Strange Python compilation results with “--enable-shared” flag.

To fix it, you need to use:

LD_RUN_PATH=/usr/local/lib make && sudo make altinstall

(So that the generated binary looks for the correct shared Python library.)


As a sidenote, I think you'd be much better served by Red Hat Software Collections when you need to have different Python versions on one system. Check out About RHSCL.

Community
  • 1
  • 1
Robert Kratky
  • 542
  • 3
  • 14
  • That was it - thank you for your time. I tried many different variations and none of them were working. – Tyler_1 Dec 24 '16 at 18:31