centos 7 python版本更新
原版本2.7.5 更新版本2.7.13
註:由於linux內建的python,系統對其有一定的依賴,因此建議保留原來的版本;常常出現的是yum功能問題;另 centos 7版本可以使用yum安裝的方式進行pip安裝,比手動安裝更快捷方便
1.安裝依賴包
yum -y install gccyum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel
2.包下載:
wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz
3.解壓:
tar -zxvf Python-2.7.13.tgz
4.建立安裝目錄:
mkdir /usr/local/python2.7.13
5.切換目錄:
cd Python-2.7.13
6.編譯
./configure --prefix=/usr/local/python2.7.13
結果:
donechecking for ensurepip... noconfigure: creating ./config.statusconfig.status: creating Makefile.preconfig.status: creating Modules/Setup.configconfig.status: creating Misc/python.pcconfig.status: creating Modules/ld_so_aixconfig.status: creating pyconfig.hcreating Modules/Setupcreating Modules/Setup.localcreating MakefileIf you want a release build with all optimizations active (LTO, PGO, etc),please run ./configure --enable-optimizations
please run ./configure –enable-optimizations (這一句可不執行)
7.安裝:
make && make install
結果:
rm -f /usr/local/python2.7.13/share/man/man1/python.1(cd /usr/local/python2.7.13/share/man/man1; ln -s python2.1 python.1)if test "xno" != "xno" ; then \ case no in \ upgrade) ensurepip="--upgrade" ;; \ install|*) ensurepip="" ;; \ esac; \ ./python -E -m ensurepip \ $ensurepip --root=/ ; \fi
8.查看原來版本,記錄原版本號碼
# python --versionPython 2.7.5
9.更新版本:
[root@mongodb ~]# which python/usr/bin/python[root@mongodb ~]# ll /usr/bin/pythonlrwxrwxrwx 1 root root 7 May 8 12:09 /usr/bin/python -> python2
重新命名python為舊版本號碼,並建立新版本的串連
mv /usr/bin/python /usr/bin/python2.7.5ln -s /usr/local/python2.7.13/bin/python2 /usr/bin/python
10.驗證:
# python -VPython 2.7.13
安裝完成後,安裝pip:
使用yum進行安裝
yum install python-pip
若出現
No package python-pip available.
則解決方案如下:
yum -y install epel-releaseyum install python-pip
安裝完成後清理
yum clean all
12.pip驗證
# pip -Vpip 8.1.2 from /usr/lib/python2.7/site-packages (python 2.7)
13.為提高pip的安裝速度,使用國內的pip源,這裡更新pip源為阿里源:
mkdir ~/.pip/
vi ~/.pip/pip.conf
寫入:
[global]index-url = http://mirrors.aliyun.com/pypi/simple/[install]trusted-host=mirrors.aliyun.com
14.安裝flask驗證:
# pip install flaskCollecting flask Downloading http://mirrors.aliyun.com/pypi/packages/77/32/e3597cb19ffffe724ad4bf0beca4153419918e7fa4ba6a34b04ee4da3371/Flask-0.12.2-py2.py3-none-any.whl (83kB) 100% |████████████████████████████████| 92kB 660kB/s Collecting click>=2.0 (from flask) Downloading http://mirrors.aliyun.com/pypi/packages/34/c1/8806f99713ddb993c5366c362b2f908f18269f8d792aff1abfd700775a77/click-6.7-py2.py3-none-any.whl (71kB) 100% |████████████████████████████████| 71kB 1.0MB/s Collecting Jinja2>=2.4 (from flask) Downloading http://mirrors.aliyun.com/pypi/packages/5e/73/10c45b82a88ed6b7751bd40da31eeefd7b362e07b56a99aa6e56655a0794/Jinja2-2.9.6-py2.py3-none-any.whl (340kB) 100% |████████████████████████████████| 348kB 829kB/s Collecting Werkzeug>=0.7 (from flask) Downloading http://mirrors.aliyun.com/pypi/packages/97/02/306e0d57fdbf467ec1c763bc1757ec6ba20b1332e0ea7e49111533d71d1c/Werkzeug-0.12.2-py2.py3-none-any.whl (312kB) 100% |████████████████████████████████| 317kB 2.8MB/s Collecting itsdangerous>=0.21 (from flask) Downloading http://mirrors.aliyun.com/pypi/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz (46kB) 100% |████████████████████████████████| 51kB 23.1MB/s Collecting MarkupSafe>=0.23 (from Jinja2>=2.4->flask) Downloading http://mirrors.aliyun.com/pypi/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gzInstalling collected packages: click, MarkupSafe, Jinja2, Werkzeug, itsdangerous, flask Running setup.py install for MarkupSafe ... done Running setup.py install for itsdangerous ... doneSuccessfully installed Jinja2-2.9.6 MarkupSafe-1.0 Werkzeug-0.12.2 click-6.7 flask-0.12.2 itsdangerous-0.24You are using pip version 8.1.2, however version 9.0.1 is available.You should consider upgrading via the 'pip install --upgrade pip' command.
最後
You should consider upgrading via the ‘pip install –upgrade pip’ command.
可以使用pip install –upgrade pip升級pip,也可以不用升級,這裡忽略 python版本更新後,yum出現問題
報錯:
ImportError: No module named urlgrabber.grabber
解決辦法:
[root@mongodb man1]# yum listLoaded plugins: fastestmirror, langpacksbase | 3.6 kB 00:00:00 epel/x86_64/metalink | 6.3 kB 00:00:00 epel | 4.3 kB 00:00:00 extras | 3.4 kB 00:00:00 mongodb-org | 2.5 kB 00:00:00 updates | 3.4 kB 00:00:00 Traceback (most recent call last): File "/usr/libexec/urlgrabber-ext-down", line 22, in <module> from urlgrabber.grabber import \ImportError: No module named urlgrabber.grabberTraceback (most recent call last): File "/usr/libexec/urlgrabber-ext-down", line 22, in <module> from urlgrabber.grabber import \ImportError: No module named urlgrabber.grabberTraceback (most recent call last): File "/usr/libexec/urlgrabber-ext-down", line 22, in <module> from urlgrabber.grabber import \ImportError: No module named urlgrabber.grabberExiting on user cancel
A. 修改/usr/bin/yum python的路徑:
#vi /usr/bin/yum將檔案頭部的#!/usr/bin/python改成#!/usr/bin/python2.7.5
在使用yum 安裝的時候同樣會遇到
ImportError: No module named urlgrabber.grabber
yum install gccLoaded plugins: fastestmirror, langpacksLoading mirror speeds from cached hostfile * base: mirrors.aliyun.com * epel: mirror01.idc.hinet.net * extras: mirrors.aliyun.com * updates: mirrors.aliyun.comTraceback (most recent call last): File "/usr/libexec/urlgrabber-ext-down", line 22, in <module> from urlgrabber.grabber import \ImportError: No module named urlgrabber.grabberTraceback (most recent call last): File "/usr/libexec/urlgrabber-ext-down", line 22, in <module> from urlgrabber.grabber import \ImportError: No module named urlgrabber.grabberTraceback (most recent call last): File "/usr/libexec/urlgrabber-ext-down", line 22, in <module> from urlgrabber.grabber import \ImportError: No module named urlgrabber.grabberTraceback (most recent call last): File "/usr/libexec/urlgrabber-ext-down", line 22, in <module> from urlgrabber.grabber import \ImportError: No module named urlgrabber.grabberTraceback (most recent call last): File "/usr/libexec/urlgrabber-ext-down", line 22, in <module> from urlgrabber.grabber import \ImportError: No module named urlgrabber.grabberExiting on user cancel
B. /usr/libexec/urlgrabber-ext-down 也需要修改:
vi /usr/libexec/urlgrabber-ext-down將檔案頭部的#!/usr/bin/python改成#!/usr/bin/python2.7.5
至此,安裝完成