文档章节

【整理】CentOS5.6 升级 Python2.4.3 到 2.7.5

摩云飞
 摩云飞
发布于 2013/07/04 18:55
字数 808
阅读 1.4K
收藏 1

精选30+云产品,助力企业轻松上云!>>>


查看 python 的版本
[root@localhost ~]# python -V
Python 2.4.3

下载并安装 Python-2.7.5
[root@localhost ~]# wget http://python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2
[root@localhost ~]# tar -jxvf Python-2.7.5.tar.bz2
[root@localhost ~]# cd Python-2.7.5
[root@localhost Python-2.7.5]# ./configure
[root@localhost Python-2.7.5]# make
[root@localhost Python-2.7.5]# make install

建立软连接,使系统默认的 python 指向 python2.7

      正常情况下,即使 python2.7 安装成功后,系统默认指向的 python 仍然是 2.4.3 版本,考虑到 CentOS5.6 系统中的 yum 是基于 python2.4 才能正常工作,所以不要卸载 python2.4 版本。 那么 如何 实现将系统默认的 python 指向到 2.7 版本呢?

未做修改前:
[root@localhost Python-2.7.5]# ll /usr/bin/python*
-rwxr-xr-x 2 root root 8304 Mar  6  2011 /usr/bin/python
lrwxrwxrwx 1 root root    6 Jul  4  2013 /usr/bin/python2 -> python
-rwxr-xr-x 2 root root 8304 Mar  6  2011 /usr/bin/python2.4
做如下修改:
[root@localhost Python-2.7.5]# rm -f /usr/bin/python2
[root@localhost Python-2.7.5]# mv /usr/bin/python /usr/bin/python2.4
[root@localhost Python-2.7.5]# ln -s /usr/local/bin/python2.7 /usr/bin/python
上面的 3 步分别为:
1.删除之前的软连接;
2.将默认 python 重命名为 python2.4 以给 yum 使用(这里可以省略该步骤,因为 python2.4 本身就存在);
3.将默认 python 软连接到 python2.7 上(这里要看新装的 python2.7 是否已存在到 python 的软连接)。

检验 python 指向是否成功
[root@localhost Python-2.7.5]# python -V
Python 2.7.5

解决默认 python 软链接指向 python2.7 版本后 yum 不能正常工作的问题
[root@localhost Python-2.7.5]# vi /usr/bin/yum

#!/usr/bin/python
...
将文件头部的
#!/usr/bin/python
改成
#!/usr/bin/python2.4
整个升级过程完成,可以使用 Python2.7.5 版本了。


============== 我是分割线   =============

当默认 python 升级到 2.7.5 后,在未修改 /usr/bin/yum 时,运行 yum 相关命令会得到如下错误:
[root@localhost Python-2.7.5]# yum list
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.5 (default, Jul  5 2013, 02:21:36) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-54)]

If you cannot solve this problem yourself, please go to 
the yum faq at:
  http://wiki.linux.duke.edu/YumFaq
  

[root@localhost Python-2.7.5]#
这是因为 yum 对 python 版本具有依赖性的原因。/usr/bin/yum 的内容如下:
[root@localhost Python-2.7.5]# vi /usr/bin/yum 

#!/usr/bin/python
import sys
try:
    import yum
except ImportError:
    print >> sys.stderr, """\
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

   %s

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:
%s

If you cannot solve this problem yourself, please go to
the yum faq at:
  http://wiki.linux.duke.edu/YumFaq

""" % (sys.exc_value, sys.version)
    sys.exit(1)

sys.path.insert(0, '/usr/share/yum-cli')
try:
    import yummain
    yummain.user_main(sys.argv[1:], exit_code=True)
except KeyboardInterrupt, e:
    print >> sys.stderr, "\n\nExiting on user cancel."
    sys.exit(1)
~


============== 我是分割线    2015-09-08  =============  

上述变更方式,改动比较大,另外一种方式为,保留系统中已有 Python 相关内容不变,仅通过变更环境变量的方式引用新版本 Python 即可。

PS: 若出现错误 " ImportError: No module named bz2 " ,则需要先安装  bzip2-devel  ,再重新编译 Python 即可(正统方法);或者,执行
cp /usr/lib64/python2.6/lib-dynload/bz2.so /usr/local/lib/python2.7/
也可以(野路子)。Stackoverflow 上的讨论,看这里



摩云飞
粉丝 378
博文 534
码字总数 952694
作品 0
徐汇
程序员
私信 提问
加载中
请先登录后再评论。
python升级到2.7.5

1.python版本: [root@~]# python -V Python 2.6 有些特性不支持,部分模块没有内置,升级吧。 到官网开了下,最新的2版本为2.7.5: 2.下载: [root@~]# wget http://python.org/ftp/python/...

jeffsui
2014/02/25
173
0
CentOS 5.5 下安装Countly Web Server过程记录

CentOS 5.5 下安装Countly Web Server过程记录 1. 系统更新与中文语言包安装 2. 基本环境配置: 2.1. NodeJS安装 依赖项安装 yum -y install gcc gcc-c++ openssl-devel 下载并解压安装 node...

lulee007
2015/06/11
146
0
Linux下安装Nodejs

最近在开发机上安装nodejs。本来很简单的一事儿,结果就遇到了一些问题,为了方便以后查阅,还是把一些重要的步骤和所遇问题记录下来,以供大家参考。(毕竟好记性不如烂笔头吗:))。 安装...

蜗牛奔跑
2015/06/23
1K
0
升级linux自带的Python

第一步:下载python2.7.4版本源码: wget http://python.org/ftp/python/2.7.4/Python-2.7.4.tgz 解压文件 [aa@localhost ~]$ tar jxvf Python-2.7.4.tar.bz2 [niuxl@localhost ~]$ cd Pyth......

皮子喜欢打篮球
2015/10/29
158
1
centos怎么使用yum升级到6.0

我机器上现在是 centos5.6 怎么使用yum升级到6.0? 需要修改哪些配置文件?

光石头
2011/07/09
6.3K
3

没有更多内容

加载失败,请刷新页面

加载更多

唐山5.1级地震 百度人工智能技术帮上忙:成都减灾所提前30秒让北京、天津市民收到预警

本文作者:y****n 7月12日6时38分在河北唐山市古冶区发生5.1级地震,成都高新减灾研究所与应急管理部门联合建成的大陆地震预警网成功预警该地震,给唐山市提前3秒预警,给天津市提前33秒预警...

百度开发者中心
昨天
0
0
如何使用PHP发送POST请求? - How do I send a POST request with PHP?

问题: Actually I want to read the contents that come after the search query, when it is done. 实际上,我想阅读搜索查询之后的内容,完成之后。 The problem is that the URL only a......

javail
26分钟前
14
0
如何从Java读取文件夹中的所有文件? - How to read all files in a folder from Java?

问题: 如何通过Java读取文件夹中的所有文件? 解决方案: 参考一: https://stackoom.com/question/7jt2/如何从Java读取文件夹中的所有文件 参考二: https://oldbug.net/q/7jt2/How-to-rea...

富含淀粉
56分钟前
25
0
主机“ xxx.xx.xxx.xxx”不允许连接到该MySQL服务器

问题: This should be dead simple, but I cannot get it to work for the life of me. 这本来应该很简单,但是我无法让它在我的一生中发挥作用。 I'm just trying to connect remotely to......

技术盛宴
今天
14
0
OSChina 周二乱弹 —— 附近居民接连失踪,你们有什么头绪吗

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @薛定谔的兄弟 :分享洛神有语创建的歌单「我喜欢的音乐」: 《伤离别(原版)》- 黄霑 手机党少年们想听歌,请使劲儿戳(这里) @巴拉迪维 :睡...

小小编辑
今天
44
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部