简述
CentOS 7 中默认安装了 Python,版本比较低(2.7.5),为了使用新版 3.x,需要对旧版本进行升级。
由于很多基本的命令、软件包都依赖旧版本,比如:yum。所以,在更新 Python 时,建议不要删除旧版本(新旧版本可以共存)。
Python全套学习资料 无偿分享 需要的可以找老师领取 hailou1666
查看 Python 版本号
当 Linux 上安装 Python 后(默认安装),只需要输入简单的命令,就可以查看 Python 的版本号:
<span style="color:#000000"><code class="language-Python"><span style="color:#009900 !important"># python -V</span>
Python <span style="color:#006666 !important">2.7</span><span style="color:#006666 !important">.5</span></code></span>
或者是:
<span style="color:#000000"><code class="language-Python"><span style="color:#009900 !important"># python --version</span>
Python <span style="color:#006666 !important">2.7</span><span style="color:#006666 !important">.5</span></code></span>
可以看出,系统自带的 Python 版本是 2.7.5。
下载新版本
进入 Python下载页面,选择需要的版本。
这里,我选择的版本是 3.5.2 。
<span style="color:#000000"><code class="language-Python"># wget https:<span style="color:#880000 !important"><em>//www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz</em></span></code></span>
解压缩
下载完成之后,进行解压缩:
<span style="color:#000000"><code class="language-Python"><span style="color:#009900 !important"># tar -zxvf Python-3.5.2.tgz</span></code></span>
安装配置
进入解压缩后的目录,安装配置:
<span style="color:#000000"><code class="language-Python"><span style="color:#009900 !important"># cd Python-3.5.2/</span>
<span style="color:#009900 !important"># ./configure </span></code></span>
执行 ./configure 时,如果报错:
configure: error: no acceptable C compiler found in $PATH
说明没有安装合适的编译器。这时,需要安装/升级 gcc 及其它依赖包。
<span style="color:#000000"><code class="language-Python"><span style="color:#009900 !important"># yum install make gcc gcc-c++ </span></code></span>
完成之后,重新执行:
<span style="color:#000000"><code class="language-Python"><span style="color:#009900 !important"># ./configure </span></code></span>
编译 & 安装
配置完成之后,就可以编译了:
<span style="color:#000000"><code class="language-Python"><span style="color:#009900 !important"># make </span></code></span>
漫长的等待……完成后,安装:
<span style="color:#000000"><code class="language-Python"><span style="color:#009900 !important"># make install </span></code></span>
验证
安装成功以后,就可以查看 Python 的版本了:
<span style="color:#000000"><code class="language-Python"><span style="color:#009900 !important"># python -V</span>
Python <span style="color:#006666 !important">2.7</span><span style="color:#006666 !important">.5</span>
<span style="color:#009900 !important"># python3 -V</span>
Python <span style="color:#006666 !important">3.5</span><span style="color:#006666 !important">.2</span></code></span>
一个是旧版本 2.x,另外一个是新版本 3.x。
注意:在 /usr/local/bin/ 下有一个 python3 的链接,指向 bin 目录下的 python 3.5。
设置 3.x 为默认版本
查看 Python 的路径,在 /usr/bin 下面。可以看到 python 链接的是 python 2.7,所以,执行 python 就相当于执行 python 2.7。
<span style="color:#000000"><code class="language-Python"># <span style="color:#000088 !important">ls</span> -al /usr/bin | grep <span style="color:#000088 !important">python</span>
-rwxr-xr-x. <span style="color:#006666 !important">1</span> root root <span style="color:#006666 !important">11216</span> <span style="color:#006666 !important">12</span>月 <span style="color:#006666 !important">1</span> <span style="color:#006666 !important">2015</span> abrt-action-analyze-<span style="color:#000088 !important">python</span>
lrwxrwxrwx. <span style="color:#006666 !important">1</span> root root <span style="color:#006666 !important">7</span> <span style="color:#006666 !important">8</span>月 <span style="color:#006666 !important">30</span> <span style="color:#006666 !important">12</span>:<span style="color:#006666 !important">11</span> <span style="color:#000088 !important">python</span> -> python2
lrwxrwxrwx. <span style="color:#006666 !important">1</span> root root <span style="color:#006666 !important">9</span> <span style="color:#006666 !important">8</span>月 <span style="color:#006666 !important">30</span> <span style="color:#006666 !important">12</span>:<span style="color:#006666 !important">11</span> python2 -> python2<span style="color:#006666 !important">.7</span>
-rwxr-xr-x. <span style="color:#006666 !important">1</span> root root <span style="color:#006666 !important">7136</span> <span style="color:#006666 !important">11</span>月 <span style="color:#006666 !important">20</span> <span style="color:#006666 !important">2015</span> python2<span style="color:#006666 !important">.7</span></code></span>
将原来 python 的软链接重命名:
<span style="color:#000000"><code class="language-Python"><span style="color:#009900 !important"># mv /usr/bin/python /usr/bin/python.bak</span></code></span>
将 python 链接至 python3:
<span style="color:#000000"><code class="language-Python"><span style="color:#009900 !important"># ln -s /usr/local/bin/python3 /usr/bin/python</span></code></span>
这时,再查看 Python 的版本:
<span style="color:#000000"><code class="language-Python"><span style="color:#009900 !important"># python -V</span>
Python <span style="color:#006666 !important">3.5</span><span style="color:#006666 !important">.2</span></code></span>
输出的是 3.x,说明已经使用的是 python3了。
配置 yum
升级 Python 之后,由于将默认的 python 指向了 python3,yum 不能正常使用,需要编辑 yum 的配置文件:
<span style="color:#000000"><code class="language-Python"><span style="color:#009900 !important"># vi /usr/bin/yum</span></code></span>
同时修改:
<span style="color:#000000"><code class="language-Python"><span style="color:#009900 !important"># vi /usr/libexec/urlgrabber-ext-down</span></code></span>
将 #!/usr/bin/python 改为 #!/usr/bin/python2.7,保存退出即可。