查看当前系统中的 Python 版本

python --version

返回 Python 2.6.6 为正常。

检查 CentOS 版本

cat /etc/redhat-release

返回 CentOS release 6.10 (Final) 为正常。

安装所有的开发工具包

yum groupinstall -y "Development tools"

安装其它的必需包

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

下载、编译和安装 Python 2.7.15

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

默认 Python 2.7.15 会安装在 /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.15 为正常。

以下步骤还是有必要的

为新版 Python 安装 setuptools

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

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 下。
所以,也许你需要重新安装一下程序。

再次注意:升级 Python 可能会导致 yum 命令不可用。解决方法如下:
编辑 /usr/bin/yum 文件,将开头第一行的

#!/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/

另外,新增部分:
python2.6.6 升级为python 2.7.15后,pip安装程序报错:-bash: /usr/bin/pip: No such file or directory

# pip install distribute
-bash: /usr/bin/pip: No such file or directory

解决方法:

# ll /usr/bin/pip
ls: cannot access /usr/bin/pip: No such file or directory
# which pip
/usr/local/bin/pip
# type pip   #type命令用来显示指定命令的类型,判断给出的指令是内部指令还是外部指令。
pip is hashed (/usr/bin/pip)
# hash -r   #清空hash表
#
# type pip
pip is /usr/local/bin/pip

注:hash命令:linux系统下会有一个hash表,当刚开机时这个hash表为空,每当你执行过一条命令时,hash表会记录下这条命令的路径,就相当于缓存一样。第一次执行命令shell解释器默认的会从PATH路径下寻找该命令的路径,当你第二次使用该命令时,shell解释器首先会查看hash表,没有该命令才会去PATH路径下寻找,如:

[root@mode Python-2.7.15]# hash
hits command
2 /usr/bin/python2.6
1 /bin/date
1 /bin/ls

部分转自:https://teddysun.com/473.html

CentOS 6.10安装Python2.7.15【全过程-含yum及pip问题处理】相关推荐

  1. CentOS 6.9安装Python2.7.13

    查看当前系统中的 Python 版本 python --version 返回 Python 2.6.6 为正常. 检查 CentOS 版本 cat /etc/redhat-release 返回 Cen ...

  2. Windows10安装python2.7.15版本,附过程问题解决方案

    1. 安装python2.7.0版本. 一开始想着装2.7.0就行,可以看这个博客https://blog.csdn.net/weixin_43790276/article/details/89439 ...

  3. CentOS 5.10安装Oracle 11G R2

    操作系统:CentOS 5.10 64位 数据库:Oracle 11G R2(版本号为11.02) 安装操作系统的时候,注意交换分区的大小不得低于2G 1.同步时钟及修改/etc/hosts yum ...

  4. python2.7安装scipy_在centOS上离安装Python2.7以及numpy,scipy,matplot,sklearn等

    〇.由于是离线安装.提前下载各种包 大概会用到的包如下图 一.安装python2.7.9 ./configure --prefix=/usr/local make && make al ...

  5. CentOS 5.10安装无线网卡驱动全面总结

    转载请注明出处:http://blog.csdn.net/bettarwang/article/details/41908987 这几天因为想尝试一下CentOS,所以就在笔记本上安装了一个CentO ...

  6. python3.7 6如何安装-Python 3.7.1在CentOS 6.10 安装部署

    1.部署环境 操作系统:CentOS release 6.10 (Final) OpenSSL版本:OpenSSL 1.0.1e-fips 11 Feb 2013 https://www.cndba. ...

  7. CentOS 6.8安装Python2.7.13

    转载自:http://www.cnblogs.com/94YY/p/6224441.html 查看当前系统中的 Python 版本 python --version 返回 Python 2.6.6 为 ...

  8. linux15.10安装教程,ubuntu 15.10 下载|Linux平台操作系统 ubuntu v15.10 官方下载工具(附安装教程)[网盘资源] - 3322软件站...

    Ubuntu是一款基于Linux平台的操作系统,很受桌面用户的欢迎,同时它也是第一款能同时运行在手机.平板.桌面和电视的操作系统,今天小编为大家带来的是官方最新Linux平台操作系统ubuntu 15 ...

  9. Ubuntu 12.10 安装JDK、Hadoop全过程

    目睹这头大象是怎么跳的舞.以下是我在Ubuntu 12.10下面安装JDK以及Hadoop的整个过程. 说明:在最开始时,我在网上各处搜比较妥当的安装hadoop的方法,过程比较纠结:后来才发现直接在 ...

最新文章

  1. CF911F Tree Destruction (树的直径,贪心)
  2. 原: 安装VMtools过程流水帐
  3. MySQL保留2位小数
  4. 微软发布全新3D Emoji表情系统:与Win11的UI风格一致
  5. QTreeView处理大量数据(使用1000万条数据,每次都只是部分刷新)
  6. mvn执行编译时使用lib下的jar包
  7. 跨5合并dnf无限连接服务器,不妨一试!跨5等跨区卡登陆卡黑屏解决办法分享
  8. 离散数学期末复习总结
  9. 推荐 一个PDF转Word内容不匹配、乱码的解决方法
  10. RH850F1x Starter Kit V3用户手册(中文翻译版)
  11. 洛谷再分肥宅水c语言,【菜鸟进阶之路】P5706【深基2.例8】再分肥宅水 - 洛谷
  12. 国资委定调联通电信前景:“共享竞合”的铁塔模式翻版
  13. mysql migration 使用_DbMigration的使用方法
  14. 基片集成波导原理_双膜基片集成波导(SIW)带通滤波器的设计与HFSS仿真
  15. python 汉字转拼音
  16. 使用nslookup命令检查DNS服务
  17. 去除IntelliJ IDEA中重复代码报灰黄色的下划波浪线
  18. 西数携全线存储解决方案亮相2014 ISS
  19. DIY解决《魔兽争霸3:混乱之治》人族第六章游戏黑屏的问题。
  20. eclise创建java项目和在src下创建包和在包下创建类

热门文章

  1. Android Canvas Layers
  2. android Canvas OpenGLES
  3. android 实时渲染模糊
  4. 审计局计算机安全领导小组,南宁市审计局关于印发《岗位信息安全和保密责任制度》的通知...
  5. linux下循环读取目录文件,Linux 文件目录树的遍历
  6. Android Camera2 之 CameraDevice 详解
  7. Matlab/ simulink仿真的直流配电网,图2为下垂控制仿真模型,图3为换流器(VSC)仿真模型
  8. awr报告 解读_Oracle的AWR报告分析
  9. CentOS的DNS服务器配置文件/etc/resolv.conf重置问题
  10. Ubuntu + nvidia驱动+ cuda安装教程以及重装问题