我正在RHEL7上进行Python2.7.13的altinstall,它安装了2.7.5。以下是我如何从源头上构建的:
$ ./configure --prefix=/usr/local --enable-shared
$ make && sudo make altinstall
然而,即使我试图直接访问这个altinstall,我也得到了系统Python,而不是altinstall。我把SELinux设为允许模式,得到了同样的结果。
$ /usr/local/bin/python2.7 -V
Python 2.7.5
$ getenforce
Permissive
当我进入翻译室
$ /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.
>>>
我在这里不知所措。从我读过的每一件事来看,这应该是有效的。我唯一能想到的是,因为它们都是2.7.X版本,所以会有一些冲突,但我认为这就是为什么首先要安装altinstalls。
最佳答案
我相信你遇到了和这篇文章一样的问题:Strange Python compilation results with “--enable-shared” flag。
要修复它,您需要使用:
LD_RUN_PATH=/usr/local/lib make && sudo make altinstall
(以便生成的二进制文件查找正确的共享Python库。)
另外,我认为当您需要在一个系统上使用不同的Python版本时,Red Hat软件集合会更好地为您服务。查看About RHSCL。