所涉及的centos版本是7.3,系统自带python版本为2.7.5,于是下载python2.7.13的安装包,编译安装后,使用软连接将安装bin目录下的python与'python2.7'进行绑定,然后使用get-pip.py脚本安装pip,用相同的方法与pip2.7进行绑定。这样就不影响系统原生python对其他一些软件,比如yum等。
但都遇到不知道发生了什么,导致系统中,python与python2相连,python2又与python2.7相连,导致无论输入python python2 python2.7打开的都是python2.7的shell。这样就导致yum模块不存在而无法安装软件,即便手动安装python2.7.5,然后将其绑定与python,也仍然解决不了问题。
我也找不到系统自带的python安装在什么地方,只找到/usr/lib下有一个存放site-packages的目录。求助。
报错内容
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
No module named yum
Please install a package which provides this module, or
verify that the module is installed correctly.
It's possible that the above module doesn't match the
current version of Python, which is:
2.7.13 (default, Jul 14 2017, 11:11:39)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)]
If you cannot solve this problem yourself, please go to
the yum faq at:
http://yum.baseurl.org/wiki/Faq
下载:wget http://www.python.org/ftp/pyt...
解压:tar -zxvf Python-2.7.3.tgz
进入解压缩后的文件夹:cd Python-2.7.3
编译前在/usr/local新建一个文件夹,作为python安装路径,以免覆盖老的版本:
sudo mkdir /usr/local/python2.7.3
在解压后的目录下编译安装:
./configure --prefix=/usr/local/python2.7.3 (这里报错,可能是因为没有安装gcc-c++,sudo yum -y install gcc-c++)
make
sudo make install
此时没有覆盖老版本,将原来/usr/bin/python的链接改为别的名字:
sudo mv /usr/bin/python /usr/bin/python_old
建立新版本python的链接:
sudo ln -s /usr/local/python2.7.3/bin/python2.7 /usr/bin/python
输入python,显示版本2.7.3