在 CentOS 6 系統上安裝最新版 Python3 軟體包的 3 種方法

在 CentOS 6 系統上安裝最新版 Python3 軟體包的 3 種方法

來自專欄 Linux

CentOS 克隆自 RHEL,無需付費即可使用。CentOS 是一個企業級標準的、前沿的操作系統,被超過 90% 的網路主機託管商採用,因為它提供了技術領先的伺服器控制面板 cPanel/WHM。

該控制面板使得用戶無需進入命令行即可通過其管理一切。

眾所周知,RHEL 提供長期支持,出於穩定性考慮,不提供最新版本的軟體包。

如果你想安裝的最新版本軟體包不在默認源中,你需要手動編譯源碼安裝。但手動編譯安裝的方式有不小的風險,即如果出現新版本,無法升級手動安裝的軟體包;你不得不重新手動安裝。

那麼在這種情況下,安裝最新版軟體包的推薦方法和方案是什麼呢?是的,可以通過為系統添加所需的第三方源來達到目的。

可供企業級 Linux 使用的第三方源有很多,但只有幾個是 CentOS 社區推薦使用的,它們在很大程度上不修改基礎軟體包。

這幾個推薦的源維護的很好,為 CentOS 提供大量補充軟體包。

在本教程中,我們將向你展示,如何在 CentOS 6 操作系統上安裝最新版本的 Python 3 軟體包。

方法 1:使用 Software Collections 源 (SCL)

SCL 源目前由 CentOS SIG 維護,除了重新編譯構建 Red Hat 的 Software Collections 外,還額外提供一些它們自己的軟體包。

該源中包含不少程序的更高版本,可以在不改變原有舊版本程序包的情況下安裝,使用時需要通過 scl 命令調用。

運行如下命令可以在 CentOS 上安裝 SCL 源:

# yum install centos-release-scl

檢查可用的 Python 3 版本:

# yum info rh-python35Loaded plugins: fastestmirror, securityLoading mirror speeds from cached hostfile * epel: ewr.edge.kernel.org * remi-safe: mirror.team-cymru.comAvailable PackagesName : rh-python35Arch : x86_64Version : 2.0Release : 2.el6Size : 0.0Repo : installedFrom repo : centos-sclo-rhSummary : Package that installs rh-python35License : GPLv2+Description : This is the main package for rh-python35 Software Collection.

運行如下命令從 scl 源安裝可用的最新版 python 3:

# yum install rh-python35

運行如下特殊的 scl 命令,在當前 shell 中啟用安裝的軟體包:

# scl enable rh-python35 bash

運行如下命令檢查安裝的 python3 版本:

# python --versionPython 3.5.1

運行如下命令獲取系統已安裝的 SCL 軟體包列表:

# scl -lrh-python35

方法 2:使用 EPEL 源 (Extra Packages for Enterprise Linux)

EPEL 是 Extra Packages for Enterprise Linux 的縮寫,該源由 Fedora SIG (Special Interest Group)維護。

該 SIG 為企業級 Linux 創建、維護並管理了一系列高品質補充軟體包,受益的企業級 Linux 發行版包括但不限於紅帽企業級 Linux (RHEL)、 CentOS、 Scientific Linux (SL) 和 Oracle Linux (OL)等。

EPEL 通常基於 Fedora 對應代碼提供軟體包,不會與企業級 Linux 發行版中的基礎軟體包衝突或替換其中的軟體包。

推薦閱讀: 在 RHEL, CentOS, Oracle Linux 或 Scientific Linux 上安裝啟用 EPEL 源

EPEL 軟體包位於 CentOS 的 Extra 源中,已經默認啟用,故我們只需運行如下命令即可:

# yum install epel-release

檢查可用的 python 3 版本:

# yum --disablerepo="*" --enablerepo="epel" info python34Loaded plugins: fastestmirror, securityLoading mirror speeds from cached hostfile * epel: ewr.edge.kernel.orgAvailable PackagesName : python34Arch : x86_64Version : 3.4.5Release : 4.el6Size : 50 kRepo : epelSummary : Version 3 of the Python programming language aka Python 3000URL : http://www.python.org/License : PythonDescription : Python 3 is a new version of the language that is incompatible with the 2.x : line of releases. The language is mostly the same, but many details, especially : how built-in objects like dictionaries and strings work, have changed : considerably, and a lot of deprecated features have finally been removed.

運行如下命令從 EPEL 源安裝可用的最新版 python 3 軟體包:

# yum --disablerepo="*" --enablerepo="epel" install python34

默認情況下並不會安裝 pipsetuptools,我們需要運行如下命令手動安裝:

# curl -O https://bootstrap.pypa.io/get-pip.py % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed100 1603k 100 1603k 0 0 2633k 0 --:--:-- --:--:-- --:--:-- 4816k# /usr/bin/python3.4 get-pip.pyCollecting pip Using cached https://files.pythonhosted.org/packages/0f/74/ecd13431bcc456ed390b44c8a6e917c1820365cbebcb6a8974d1cd045ab4/pip-10.0.1-py2.py3-none-any.whlCollecting setuptools Downloading https://files.pythonhosted.org/packages/8c/10/79282747f9169f21c053c562a0baa21815a8c7879be97abd930dbcf862e8/setuptools-39.1.0-py2.py3-none-any.whl (566kB) 100% |████████████████████████████████| 573kB 4.0MB/sCollecting wheel Downloading https://files.pythonhosted.org/packages/1b/d2/22cde5ea9af055f81814f9f2545f5ed8a053eb749c08d186b369959189a8/wheel-0.31.0-py2.py3-none-any.whl (41kB) 100% |████████████████████████████████| 51kB 8.0MB/sInstalling collected packages: pip, setuptools, wheelSuccessfully installed pip-10.0.1 setuptools-39.1.0 wheel-0.31.0

運行如下命令檢查已安裝的 python3 版本:

# python3 --versionPython 3.4.5

方法 3:使用 IUS 社區源

IUS 社區是 CentOS 社區批准的第三方 RPM 源,為企業級 Linux (RHEL 和 CentOS) 5、 6 和 7 版本提供最新上游版本的 PHP、 Python、 MySQL 等軟體包。

IUS 社區源依賴於 EPEL 源,故我們需要先安裝 EPEL 源,然後再安裝 IUS 社區源。按照下面的步驟安裝啟用 EPEL 源和 IUS 社區源,利用該 RPM 系統安裝軟體包。

推薦閱讀: 在 RHEL 或 CentOS 上安裝啟用 IUS 社區源

EPEL 軟體包位於 CentOS 的 Extra 源中,已經默認啟用,故我們只需運行如下命令即可:

# yum install epel-release

下載 IUS 社區源安裝腳本:

# curl https://setup.ius.io/ -o setup-ius.sh % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed100 1914 100 1914 0 0 6563 0 --:--:-- --:--:-- --:--:-- 133k

安裝啟用 IUS 社區源:

# sh setup-ius.sh

檢查可用的 python 3 版本:

# yum --enablerepo=ius info python36uLoaded plugins: fastestmirror, securityLoading mirror speeds from cached hostfile * epel: ewr.edge.kernel.org * ius: mirror.team-cymru.com * remi-safe: mirror.team-cymru.comAvailable PackagesName : python36uArch : x86_64Version : 3.6.5Release : 1.ius.centos6Size : 55 kRepo : iusSummary : Interpreter of the Python programming languageURL : https://www.python.org/License : PythonDescription : Python is an accessible, high-level, dynamically typed, interpreted programming : language, designed with an emphasis on code readability. : It includes an extensive standard library, and has a vast ecosystem of : third-party libraries. : : The python36u package provides the "python3.6" executable: the reference : interpreter for the Python language, version 3. : The majority of its standard library is provided in the python36u-libs package, : which should be installed automatically along with python36u. : The remaining parts of the Python standard library are broken out into the : python36u-tkinter and python36u-test packages, which may need to be installed : separately. : : Documentation for Python is provided in the python36u-docs package. : : Packages containing additional libraries for Python are generally named with : the "python36u-" prefix.

運行如下命令從 IUS 源安裝最新可用版本的 python 3 軟體包:

# yum --enablerepo=ius install python36u

運行如下命令檢查已安裝的 python3 版本:

# python3.6 --versionPython 3.6.5


via: 2daygeek.com/3-methods-

作者:PRAKASH SUBRAMANIAN 選題:lujun9972 譯者:pinewall 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


推薦閱讀:

如何看待Intel CPU爆出的重大bug?
Linux 下的伺服器時間同步方案有哪些?
十年回顧-我的Linux之路
您最喜歡使用哪個 Linux 發行版作為桌面使用?為什麼?
每個 Linux 新手都應該知道的 10 個命令

TAG:Linux | CentOS | Python |