天天看點

CentOS7.3編譯安裝python3.6

 一、前言

 最近迷上了python,是以準備開始上手python。由于python2維護較少,python3必然是趨勢了,是以我準備用python3.6學習python。CentOS7.3預設安裝的是python2.7,是以我需要從官網上下載下傳python3.6并編譯安裝python3.6,但是比較尴尬的是,CentOS的yum環境支援python2而不支援python3,是以需要通過一些小小的修改,才能在正常的使用python3.6的同時也能正常的使用yum。這其實沒什麼難的,python3就按照正常的編譯安裝即可,yum環境支援隻需要在/usr/bin/yum的以及/usr/libexec/urlgrabber-ext-down的第一行做一些軟連結的修改即可。詳細内容請看操作步驟。

 二、操作步驟

    1.編譯環境準備

<code> </code><code>yum groupinstall </code><code>'Development Tools'</code>

<code> </code><code>yum </code><code>install</code> <code>zlib-devel </code><code>bzip2</code><code>-devel openssl-devel ncurese-devel</code>

    2.下載下傳python3.6源碼包

<code>wget https:</code><code>//www</code><code>.python.org</code><code>/ftp/python/3</code><code>.6.2</code><code>/Python-3</code><code>.6.2rc1.</code><code>tar</code><code>.xz</code>

    3.解壓壓縮包

<code>tar</code> <code>-xvf Python-3.6.2rc1.</code><code>tar</code><code>.xz</code>

     4.編譯安裝步驟

<code>    </code><code>cd</code> <code>Python-3.6.2rc1/</code>

<code>    </code><code>.</code><code>/configure</code> <code>--prefix=</code><code>/usr/local/python3</code>

<code>    </code><code>make</code> <code>&amp;&amp; </code><code>make</code> <code>install</code>

     5.修改軟連結以及修改yum支援環境路徑

<code>     </code><code>5.1修改軟連結以及相關操作</code>

<code>    </code><code>mv</code> <code>/usr/bin/python2</code><code>.7 </code><code>/usr/bin/python2</code><code>.7.5          </code><code>#先更改python2.7的名字</code>

<code>    </code><code>rm</code> <code>/usr/bin/python</code> <code>-r                     </code><code>#删除原先的軟連結</code>

<code>    </code><code>ln</code> <code>-s </code><code>/usr/bin/python2</code><code>.7.5 </code><code>/usr/bin/python2</code><code>.7        </code><code>#将python2.7環境軟連結至/usr/bin/python2.7 </code>

<code>    </code><code>ln</code> <code>-s </code><code>/usr/local/python3/bin/python3</code><code>.6 </code><code>/usr/bin/python</code>    <code>#将python3.6環境軟連結至/usr/bin/python</code>

<code>    </code><code>ln</code> <code>-s </code><code>/usr/local/python3/bin/pip3</code> <code>/usr/bin/pip</code>        <code>#将pip3軟連結至/usr/bin/pip</code>

<code>    </code><code>python -V                                                     </code><code>#檢視目前使用的python版本</code>

<code>        </code><code>Python 3.6.2rc1</code>

<code>    </code><code>pip -V                                                        </code><code>#檢視pip版本</code>

<code>        </code><code>pip 9.0.1 from </code><code>/usr/local/python3/lib/python3</code><code>.6</code><code>/site-packages</code> <code>(python 3.6)</code>

<code>    </code><code>python2.7 -V</code>

<code>        </code><code>Python 2.7.5                                               </code><code>#當然你也可以使用python2.7.5</code>

<code>    </code><code>yum repolist                                                  </code><code>#測試yum環境,yum環境失效</code>

<code>    </code><code>[root@localhost bin]</code><code># yum repolist</code>

<code>    </code><code>Loaded plugins: fastestmirror, langpacks</code>

<code>    </code><code>Loading mirror speeds from cached hostfile</code>

<code>      </code><code>File </code><code>"/usr/libexec/urlgrabber-ext-down"</code><code>, line 28     </code><code>#報錯位置</code>

<code>        </code><code>except OSError, e:</code>

<code>                      </code><code>^</code>

<code>    </code><code>SyntaxError: invalid syntax</code>

<code>      </code><code>File </code><code>"/usr/libexec/urlgrabber-ext-down"</code><code>, line 28</code>

<code>    </code><code>Exiting on user cancel</code>

<code>    </code> 

<code>    </code><code>5.2恢複yum環境相關操作</code>

<code>    </code><code>vi</code> <code>/usr/bin/yum</code>

<code>    </code><code>第一行修改為</code>

<code>    </code><code>#!/usr/bin/python2.7</code>

<code>    </code><code>vi</code> <code>/usr/libexec/urlgrabber-ext-down</code>

<code>    </code><code>5.3測試yum環境</code>

<code>    </code><code>yum repolist                                                    </code><code>#再次測試yum環境,yum環境正常    </code>

<code>        </code><code>Loaded plugins: fastestmirror, langpacks</code>

<code>        </code><code>Loading mirror speeds from cached hostfile</code>

<code>        </code><code>repo </code><code>id</code>          <code>repo name                                    status</code>

<code>        </code><code>cd</code>               <code>cd</code>                                            <code>9,363</code>

<code>        </code><code>centos           centos repository                             9,363</code>

<code>        </code><code>epel             extra packages </code><code>for</code> <code>enterprise linux          11,349</code>

<code>        </code><code>repolist: 30,075</code>

本文轉自 PowerMichael 51CTO部落格,原文連結:http://blog.51cto.com/huwho/1945633,如需轉載請自行聯系原作者