手机版
你好,游客 登录 注册
背景:
阅读新闻

CentOS 6.5安装Python2.7.14

[日期:2017-12-28] 来源:Linux社区  作者:liuyazhuang [字体: ]

CentOS 6.5下安装Python2.7.14过程。

查看当前系统中的 Python 版本

python --version 

返回 Python 2.6.6 为正常。
检查 CentOS 版本

cat /etc/RedHat-release 

返回 CentOS release 6.5 (Final) 为正常。
安装所有的开发工具包

yum groupinstall -y "Development tools" 

安装其它的必需包

yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel 

下载、编译和安装 Python 2.7.14

wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz 
tar zxf Python-2.7.14.tgz 
cd Python-2.7.14 
./configure 
make && make install 

默认 Python 2.7.14 会安装在 /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 

更新系统默认 Python 版本
先把系统默认的旧版 Python 重命名。

mv /usr/bin/python /usr/bin/python.old 

再删除系统默认的 python-config 软链接。]

rm -f /usr/bin/python-config 

最后创建新版本的 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 

以上步骤做完以后,目录 /usr/bin 下的 Python 应该是

ll -tr /usr/bin/python* 

/usr/bin/python2.6-config 

/usr/bin/python2.6 

/usr/bin/python.old 

/usr/bin/python2 -> python 

/usr/bin/python -> /usr/local/bin/python 

/usr/bin/python-config -> /usr/local/bin/python-config 

查看新的 Python 版本

python --version 

返回 Python 2.7.14 为正常。
以下步骤还是有必要的
为新版 Python 安装 setuptools

wget https://bootstrap.pypa.io/ez_setup.py -O - | python 

上述方式异常时,直接输入

https://pypi.io/packages/source/s/setuptools/setuptools-33.1.1.zip 

下载解压后进行python install setup.py进行安装

setuptools 正确安装完成后,easy_install 命令就会被安装在 /usr/local/bin 目录下了。
为新版 Python 安装 pip

easy_install pip

正确安装完成后,pip 命令就会被安装在 /usr/local/bin 目录下了。
为新版 Python 安装 distribute 包(可选)

pip install distribute 

至此,新版 Python 即算安装完毕了。
注意:这可能会导致以前安装过的 Python 程序运行不了或者无法重启之类的(比如著名的 Shadowsocks Python 版)。原因是旧版的 pkg_resources 位于 /usr/lib/python2.6/site-packages 下。而新版的则是在 /usr/local/lib/python2.7/site-packages 下。
所以,我们需要将python2.6下site-packages目录中的文件拷贝到python2.7/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/

Python 装饰器详解  http://www.linuxidc.com/Linux/2017-08/146373.htm

Python 使用期物处理并发  http://www.linuxidc.com/Linux/2017-08/146555.htm

Ubuntu 16.04下安装Vim8并支持Python3  http://www.linuxidc.com/Linux/2017-09/147108.htm

CentOS 6.4下安装Python3  http://www.linuxidc.com/Linux/2017-09/147156.htm

Python升级导致yum不可用 “ No module named yum”  http://www.linuxidc.com/Linux/2017-08/146518.htm

Python 网络框架Twisted基础学习及详细讲解  http://www.linuxidc.com/Linux/2017-08/146314.htm

CentOS7保留默认Python版本并安装更新Python2和Python3共存  http://www.linuxidc.com/Linux/2017-12/149807.htm

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-12/149913.htm

linux
相关资讯       CentOS安装Python 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款