伯渝 發表於 2023-8-29 00:00:00

CentOS6.5 升级 Python 2.7 版本详细介绍

<p>
        <strong> CentOS6.5 升级 Python 2.7 版</strong></p>
<p>
        <strong>概要</strong></p>
<p>
        CentOS 6.5中预安装了Python-2.6.6,其比较新的Python-2.7.9(CentOS 7预装版本)主要区别在于新版本的Python导入了更丰富的模块功能。对于初学者而言这一般不会有太大的影响,相对而言这些新模块在某些特定的编译环境下却是不可或缺的。例如:使用Devstack all-in-one模式进行安装OpenStack开发调试平台,需要Python-2.7及以上的支持,这样可以省去很多缺失模块的麻烦。</p>
<p>
        - 软件准备<br>
        - Python 2.7.9<br>
        - ipython-0.12.1<br>
        - 系统准备</p>
<p>
        CentOS 6.5</p>
<p>
        安装Python-2.7.9</p>
<p>
        1.查看当前系统的Python Version</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterpy" id="highlighter_476514">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="py plain"></code><code class="py comments"># python --version</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="py plain">Python </code><code class="py value">2.6</code><code class="py plain">.</code><code class="py value">6</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        2.下载Python-2.7.9</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterpy" id="highlighter_589797">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="py plain">wget https:</code><code class="py keyword">/</code><code class="py keyword">/</code><code class="py plain">www.python.org</code><code class="py keyword">/</code><code class="py plain">ftp</code><code class="py keyword">/</code><code class="py plain">python</code><code class="py keyword">/</code><code class="py value">2.7</code><code class="py plain">.</code><code class="py value">9</code><code class="py keyword">/</code><code class="py plain">Python</code><code class="py keyword">-</code><code class="py value">2.7</code><code class="py plain">.</code><code class="py value">9.tar</code><code class="py plain">.xz</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        3.安装Python</p>
<p>
        a. 解压</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_117997">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash functions">tar</code> <code class="bash plain">-Jxvf Python-2.7.9.</code><code class="bash functions">tar</code><code class="bash plain">.xz -C </code><code class="bash plain">/usr/src/</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        b. 安装</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_486018">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash functions">mkdir</code> <code class="bash plain">/usr/local/python27</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash functions">cd</code> <code class="bash plain">/usr/src/Python-2</code><code class="bash plain">.7.9/ </code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">.</code><code class="bash plain">/configure</code> <code class="bash plain">--prefix=</code><code class="bash plain">/usr/local/python27</code> <code class="bash plain">&amp;&amp; </code><code class="bash functions">make</code> <code class="bash plain">&amp;&amp; </code><code class="bash functions">make</code> <code class="bash functions">install</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        c. 将系统python指令默认指向Python-2.7.9版本</p>
<p>
        CentOS6.5中YUM需要Python-2.6.6支持,所以不建议卸载老版本。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_331833">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash functions">mv</code> <code class="bash plain">/usr/bin/python</code> <code class="bash plain">/usr/bin/python266</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash functions">ln</code> <code class="bash plain">-s </code><code class="bash plain">/usr/local/python27/bin/python2</code><code class="bash plain">.7 </code><code class="bash plain">/usr/bin/python</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">python --version </code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        解决YUM与Python2.7.9的兼容问题</p>
<p>
        因为YUM需要python-2.6.6的支持,CentOS 6.5中YUM却不兼容Python-2.7,导致YUM不可用。需要在YUM的配置文件中,重新使YUM指向Python-2.6.6的执行程序(即CentOS 6.5 原始的/usr/bin/python程序)</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterpy" id="highlighter_383647">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="py plain">vim </code><code class="py keyword">/</code><code class="py plain">usr</code><code class="py keyword">/</code><code class="py functions">bin</code><code class="py keyword">/</code><code class="py plain">yum</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="py plain">将原来的:</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="py comments">#!/usr/bin/python</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="py plain">改为:</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="py comments">#!/usr/bin/python266</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        一般来说这样就可以恢复使用YUM,同理所有在CentOS 6.5中对Python-2.7不兼容的软件都可以使用上面的方法来解决。</p>
<p>
        如果上述步骤执行完后仍不能有效的执行YUN指令,可以尝试下面的解决方法。</p>
<p>
        将CentOS 6.5的安装光盘或ISO文件中的以下rpm包(版本根据个人情况)拷贝到系统目录中。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterpy" id="highlighter_663920">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="py plain">mount </code><code class="py keyword">/</code><code class="py plain">dev</code><code class="py keyword">/</code><code class="py plain">cdrom </code><code class="py keyword">/</code><code class="py plain">mnt</code><code class="py keyword">/</code><code class="py plain">cdrom</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                         </div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="py plain">cd </code><code class="py keyword">/</code><code class="py plain">mnt</code><code class="py keyword">/</code><code class="py plain">cdrom</code><code class="py keyword">/</code><code class="py plain">Packages</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="py plain">cp yum</code><code class="py keyword">-</code><code class="py value">3.2</code><code class="py plain">.</code><code class="py value">29</code><code class="py keyword">-</code><code class="py value">40.el6</code><code class="py plain">.centos.noarch.rpm \</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="py plain">python</code><code class="py keyword">-</code><code class="py value">2.6</code><code class="py plain">.</code><code class="py value">6</code><code class="py keyword">-</code><code class="py value">51.el6</code><code class="py plain">.x86_64.rpm \</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="py plain">python</code><code class="py keyword">-</code><code class="py plain">urlgrabber</code><code class="py keyword">-</code><code class="py value">3.9</code><code class="py plain">.</code><code class="py value">1</code><code class="py keyword">-</code><code class="py value">9.el6</code><code class="py plain">.noarch.rpm \</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="py plain">python</code><code class="py keyword">-</code><code class="py plain">devel</code><code class="py keyword">-</code><code class="py value">2.6</code><code class="py plain">.</code><code class="py value">6</code><code class="py keyword">-</code><code class="py value">51.el6</code><code class="py plain">.x86_64.rpm \</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="py plain">python</code><code class="py keyword">-</code><code class="py plain">libs</code><code class="py keyword">-</code><code class="py value">2.6</code><code class="py plain">.</code><code class="py value">6</code><code class="py keyword">-</code><code class="py value">51.el6</code><code class="py plain">.x86_64.rpm </code><code class="py keyword">/</code><code class="py plain">usr</code><code class="py keyword">/</code><code class="py plain">local</code><code class="py keyword">/</code><code class="py plain">python27</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="py plain">cd </code><code class="py keyword">/</code><code class="py plain">usr</code><code class="py keyword">/</code><code class="py plain">local</code><code class="py keyword">/</code><code class="py plain">python27</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="py plain">rpm </code><code class="py keyword">-</code><code class="py plain">Uvh </code><code class="py keyword">-</code><code class="py keyword">-</code><code class="py plain">replacepkgs </code><code class="py keyword">*</code><code class="py plain">.rpm</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        将上面的依赖包都安装完,或许可以解决这个问题。</p>
<p>
        至此,Python升级完成。</p>
<p>
        感谢 阅读,希望能帮助到大家,谢谢大家对本站的支持!</p>
頁: [1]
查看完整版本: CentOS6.5 升级 Python 2.7 版本详细介绍