When I altinstall python 2.7.12 with ./configure --prefix=/opt/python --enable-shared it comes up as python 2.7.5 (system default python) But altinstall with ./configure --prefix=/opt/python it comes up as 2.7.12, what am I missing? This is on RHEL 7.2 This is not a pathing issue: Without --enable-shared: [root@myrig ~]# /opt/python/bin/python2.7 -V Python 2.7.12 With --enable-shared: [root@myrig ~]# /opt/python/bin/python2.7 -V Python 2.7.5
No doubt you are running into same problem that is described here: http://stackoverflow.com/questions/12553057/compile-python-2-7-3-from-source-on-a-system-with-python-2-7-already The problem is, that on most Unix systems (with the notable exception of Mac OS X), the path to shared libraries is not an absolute path. So, if you install Python in a non-standard location, which is the right thing to do so as not to interfere with a system Python of the same version, you will need to configure in the path to the shared library or supply it via an environment variable at run time, like LD_LIBRARY_PATH. You may be better off avoiding --enable-shared; it's easy to run into problems like this with it.
As Ned Deily mentioned, this fixes the issue: ./configure --enable-shared --prefix=/opt/python LDFLAGS=-Wl,-rpath=/opt/python/lib Closing as not a bug, thanks!