|
转自:https://teddysun.com/473.html
1)安装devtoolset
- yum groupinstall "Development tools" -y
复制代码
2)安装编译Python需要的包包
- yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel wget -y
复制代码
3)下载并解压Python 2.7.16的源代码
- wget --no-check-certificate https://www.python.org/ftp/python/2.7.16/Python-2.7.16.tar.xz
- tar xf Python-2.7.16.tar.xz
- cd Python-2.7.16
复制代码
4)编译与安装Python 2.7.16
- ./configure
- make && make install
复制代码
默认 Python 2.7.16 会安装在 /usr/local/bin 目录下。
- ll -tr /usr/local/bin/python*
- /usr/local/bin/python2.7
- /usr/local/bin/python2.7-config
- /usr/local/bin/python -> python2
- /usr/local/bin/python2 -> python2.7
- /usr/local/bin/python2-config -> python2.7-config
- /usr/local/bin/python-config -> python2-config
复制代码
而系统自带的 Python 是在 /usr/bin 目录下。
- ll -tr /usr/bin/python*
- /usr/bin/python2.6-config
- /usr/bin/python2.6
- /usr/bin/python
- /usr/bin/python2 -> python
- /usr/bin/python-config -> python2.6-config
复制代码
5)先把系统默认的旧版 Python 重命名。
- mv /usr/bin/python /usr/bin/python.old
复制代码
6)再删除系统默认的 python-config 软链接。
- rm -f /usr/bin/python-config
复制代码
7)最后创建新版本的 Python 软链接。
- ln -s /usr/local/bin/python /usr/bin/python
- ln -s /usr/local/bin/python-config /usr/bin/python-config
- ln -s /usr/local/include/python2.7/ /usr/include/python2.7
复制代码
检查Python版本
返回 Python 2.7.16 为正常。
以下步骤还是有必要的
为新版 Python 安装 setuptools
- wget https://bootstrap.pypa.io/ez_setup.py -O - | python
复制代码
setuptools 正确安装完成后,easy_install 命令就会被安装在 /usr/local/bin 目录下了。
为新版 Python 安装 pip
正确安装完成后,pip 命令就会被安装在 /usr/local/bin 目录下了。
为新版 Python 安装 distribute 包(可选)
至此,新版 Python 即算安装完毕了。
解决系统 Python 软链接指向 Python2.7 版本后,因为yum是不兼容 Python 2.7的,所以yum不能正常工作,我们需要指定 yum 的Python版本
将文件头部的
#!/usr/bin/python
改成
#!/usr/bin/python2.6
但是,这种改法,万一哪天你 yum update 了一下,yum 被升级了后,又变回老样子了。
记住旧版本 Python 2.6.6 的重要路径如下所示,在运行 yum 命令的时候,会提示你哪个 module 不存在,不存在的我们就去旧版本的路径下找,一定能找到的。找到后,复制到新版本 Python 的路径 /usr/local/lib/python2.7/site-packages/ 下即可。
- /usr/lib/python2.6/site-packages/
- /usr/lib64/python2.6/site-packages/
复制代码
复制过程是这样的:
- cp -r /usr/lib/python2.6/site-packages/yum /usr/local/lib/python2.7/site-packages/
- cp -r /usr/lib/python2.6/site-packages/rpmUtils /usr/local/lib/python2.7/site-packages/
- cp -r /usr/lib/python2.6/site-packages/iniparse /usr/local/lib/python2.7/site-packages/
- cp -r /usr/lib/python2.6/site-packages/urlgrabber /usr/local/lib/python2.7/site-packages/
- cp -r /usr/lib64/python2.6/site-packages/rpm /usr/local/lib/python2.7/site-packages/
- cp -r /usr/lib64/python2.6/site-packages/curl /usr/local/lib/python2.7/site-packages/
- cp -p /usr/lib64/python2.6/site-packages/pycurl.so /usr/local/lib/python2.7/site-packages/
- cp -p /usr/lib64/python2.6/site-packages/_sqlitecache.so /usr/local/lib/python2.7/site-packages/
- cp -p /usr/lib64/python2.6/site-packages/sqlitecachec.py /usr/local/lib/python2.7/site-packages/
- cp -p /usr/lib64/python2.6/site-packages/sqlitecachec.pyc /usr/local/lib/python2.7/site-packages/
- cp -p /usr/lib64/python2.6/site-packages/sqlitecachec.pyo /usr/local/lib/python2.7/site-packages/
复制代码
但是不久就突然发现输入法图标不见了,然后打字没有候选框!iBus 崩了!再次进行搜索,又是版本问题iBus也是不支持Python2.7的
配置iBus
分别用 vi 打开下面两个文件,找到 exec python 那一行,把exec python 改为 exec python2.6 保存,退出。iBus在重启后就恢复正常了!
- vi /usr/libexec/ibus-ui-gtk
复制代码
|
|