linux CentOS 6.X系统默认安装的Python都是2.6版本。目前很多python库对2.6的支持都已经放弃。有备无患,这里记录Python2.6升级到Python2.7过程以及一些注意事项
笔者写这篇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,接着进行下一步
首先在/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了
这时,会发现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
,恢复正常
获取并安装最新版本的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了
新闻热点
疑难解答