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了
新聞熱點
疑難解答