首页 > 编程 > Python > 正文

Linux CentOS6.X 升级python2.6到python2.7

2019-11-08 03:28:21
字体:
来源:转载
供稿:网友

linux CentOS 6.X系统默认安装的Python都是2.6版本。目前很多python库对2.6的支持都已经放弃。有备无患,这里记录Python2.6升级到Python2.7过程以及一些注意事项


1. 下载并安装2.7最新版的Python

笔者写这篇blog时,官方http://www.python.org最新版为2.7.13,下面以2.6.6升级到2.7.13为例进行叙述。 首先,下载解压python2.7.13版本执行以下命令:

wget http://www.python.org/ftp/python/2.7.13/Python-2.7.13.tar.xzunxz Python-2.7.13.tar.xztar -vxf Python-2.7.13.tarcd Python-2.7.13

为了防止后面安装pip等相关工具出问题,这里先安装zlib和ssh包,执行如下命令:

yum install openssl-devel -yyum -y install zlib*

紧接着,修改Modules/Setup文件,执行如下命令:

vi Modules/Setup

去掉下面这些行的注释#,并保存

#zlib zlibmodule.c -I$(PRefix)/include -L$(exec_prefix)/lib -lz #_socket socketmodule.c timemodule.c #_ssl _ssl.c / #-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl / #-L$(SSL)/lib -lssl -lcrypto

最后进行编译安装,执行如下命令:

./configure --enable-shared --enable-loadable-sqlite-extensions --with-zlibmake && make install

安装完成之后,执行命令:

python -V

查看python版本,发现还是原来的2.6.6,接着进行下一步


2. 对Python2.6进行备份,然后为Python2.7创建软链接

首先在/usr/bin目录下看看系统中2.6版本的python执行文件情况,如下:

-rwxr-xr-x. 1 root root 11040 Nov 22 2013 abrt-action-analyze-python lrwxrwxrwx. 1 root root 9032 Nov 22 2013 python lrwxrwxrwx. 1 root root 6 Apr 3 2016 python2 -> python -rwxr-xr-x. 1 root root 9032 Nov 22 2013 python2.6

可以看到/usr/bin/python和/usr/bin/python2.6是一样的执行文件。这里直接删除/usr/bin/python,为python2.7版本创建软链接即可,执行以下命令:

rm /usr/bin/pythonln -s /usr/local/bin/python2.7 /usr/bin/python

再次查看版本,执行命令:

python -V

版本已经是2.7.13了


3. 恢复yum命令

这时,会发现yum命令无法使用了,执行yum命令,会有如下提示:

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, Feb 16 2017, 07:43:45) [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)]

If you cannot solve this problem yourself, please go to the yum faq at: http://yum.baseurl.org/wiki/Faq

解决方法是:vi /usr/bin/yum把第一行的

#!/usr/bin/python

修改成

#!/usr/bin/python2.6

保存退出,再次执行命令yum,恢复正常


4. 安装pip、setuptools、wheel

获取并安装最新版本的pip,执行如下命令:

wget https://bootstrap.pypa.io/get-pip.py --no-check-certificatepython get-pip.py

会有如下输出:

Collecting pip Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB) 100% |████████████████████████████████| 1.3MB 36kB/s Collecting setuptools Downloading setuptools-34.2.0-py2.py3-none-any.whl (389kB) 100% |████████████████████████████████| 399kB 31kB/s Collecting wheel Downloading wheel-0.29.0-py2.py3-none-any.whl (66kB) 100% |████████████████████████████████| 71kB 62kB/s Collecting appdirs>=1.4.0 (from setuptools) Downloading appdirs-1.4.0-py2.py3-none-any.whl Collecting packaging>=16.8 (from setuptools) Downloading packaging-16.8-py2.py3-none-any.whl Collecting six>=1.6.0 (from setuptools) Downloading six-1.10.0-py2.py3-none-any.whl Collecting pyparsing (from packaging>=16.8->setuptools) Downloading pyparsing-2.1.10-py2.py3-none-any.whl (56kB) 100% |████████████████████████████████| 61kB 86kB/s Installing collected packages: pip, appdirs, pyparsing, six, packaging, setuptools, wheel Successfully installed appdirs-1.4.0 packaging-16.8 pip-9.0.1 pyparsing-2.1.10 setuptools-34.2.0 six-1.10.0 wheel-0.29.0

可以看到pip、setuptools、wheel都全部安装了


到这里,升级结束,可以愉快的使用Python了


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表