天天看點

python編譯環境搭建_Linux 下搭建 Python 環境(編譯安裝)

python編譯環境搭建_Linux 下搭建 Python 環境(編譯安裝)

本文講解在 Linux 作業系統(OS)下編譯安裝 Python 環境。

在 CentOS 7 Linux 中,作業系統(OS)預設沒有安裝Python3,yum源中提供的Python3軟體包也并非最新版本。系統自帶一枚舊版本Python2(Python 2.7.5)為一些系統元件提供支援,不應随意更動,不然會出現各種各樣的Bugs(如:yum無法正常使用…)。

手動編譯安裝最新版本 Python ,是 Linux 下搭建 Python 環境的最佳選擇。

Step 1 - 編譯環境

首先,我們需要在本機安裝「基礎編譯工具鍊」,這是編譯 Python 源碼所必需的。

$ sudo yum install gcc make

代碼清單:安裝「基礎編譯工具」

本機安裝好gcc、make基礎編譯工具,用來編譯 Python 源碼(Python 語言的官方實作是 CPython )。

Step 2 - 擷取源碼

前往 Python 官方網站,擷取最新 Python3 「源碼包」。注意,要下載下傳源碼包source tarball。

$ curl -O https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz

代碼清單:擷取Python源碼包

解壓縮,解包,*.tar.xz壓縮包需要分兩步解壓,*.tar.gz則可以使用tar -xvz -f一步到位。

$ xz -d ./Python-3.6.1.tar.xz

$ tar -xv -f ./Python-3.6.1.tar

代碼清單:解壓縮Python源碼包

亦或者,我們也可以直接克隆 GitHub 上cpython代碼倉庫至本地。

# 克隆`cpython`源碼倉庫

$ git clone https://github.com/python/cpython.git

# 進入`cpython`源碼目錄

$ cd cpython

# 檢視`cpython`版本号

$ git tag

# 檢出适合`cpython`版本

$ git checkout

代碼清單:使用git擷取 Python 源代碼

Step 3 - 安裝依賴

cd進入Python源碼目錄,我們可以先浏覽一下README.rst檔案,該文檔指導我們編譯安裝 Python 的具體步驟。

在編譯安裝之前,我們需要先安裝一些 Python 依賴包,這是README上沒有提到的(但是會在./configure檢查依賴項時告知)。為了省去後續查找安裝依賴的麻煩,這裡把 Python 所需要的依賴包全部列出。

依賴庫

RedHat

Debian

ZLib

zlib-devel

zlib1g-dev

BZip2

bzip2-devel

libbz2-dev

LZMA

xz-devel

liblzma-dev

UUID

uuid-devel

uuid-dev

OpenSSL

openssl-devel

libssl-dev

RaedLine

readline-devel

libreadline-dev

NCurses

ncurses-devel

libncursesw5-dev

SQLite

sqlite-devel

libsqlite3-dev

FFI

libffi-devel

libffi-dev

GDBM

gdbm-devel

libgdbm-dev

Tcl/Tk

tk-devel

tk-dev

表:Linux 系統下Python依賴庫表

#/bin/bash

# --------------------------

PYTHON_DEPS="zlib-devel

bzip2-devel

xz-devel

uuid-devel

libuuid-devel

openssl-devel

readline-devel

ncurses-devel

sqlite-devel

libffi-devel

gdbm-devel

tcl-devel

tk-devel"

# --------------------------

for i in ${PYTHON_DEPS}

do

sudo yum -y install ${i}

done

# --------------------------

echo ${?}

代碼清單:RedHat Linux 下安裝 Python 依賴庫自動化腳本

手寫一支shell腳本,把依賴包全部裝好。對于Debian系的系統,可以使用apt指令安裝相應的依賴包。

Step 4 - 編譯安裝

依賴包都安裝好之後,接下來,我們就按照README的指引,編譯安裝Python。請確定在 Python 源代碼目錄下執行以下操作:

$ ./configure --prefix=/usr/local/python_3.6.1 --enable-optimizations

代碼清單:configure編譯配置選項

此指令會檢查目前系統的編譯環境,軟體依賴性等等,如果沒有問題的話,會成功生成Makefile。

這裡我們添加了兩個編譯選項,更多編譯選項可以參看:./configure --help。

編譯選項

解釋說明

--prefix

自定義安裝路徑,預設在/usr/local,個人習慣單獨指定安裝路徑,這樣管理起來比較友善。

--enable-optimizations

開啟編譯優化選項,增加編譯時間,換取性能提升,這是非常值得的。

表:自定義編譯選項表

$ make

...

$ sudo make install

...

代碼清單:make編譯安裝

運作make編譯安裝,編譯時間取決于機器性能。如果是虛拟機環境,建議把虛拟機性能調高一些。

如果使用--prefix編譯選項自定義了安裝目錄,安裝完成後不要忘記了将安裝路徑加入PATH環境變量中,并将 Python 軟連結到/usr/bin/目錄下。

$ echo 'export PATH=${PATH}:' >> ~/.bashrc

代碼清單:加入Python至系統PATH路徑

Step 5 - 檢驗安裝

指令行下直接啟動 Python,如果「安裝與配置」都沒有問題,會正常進入 Python 互動式環境。

$ python3

Python 3.6.1 (default, Jul 6 2017, 15:12:56)

[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>>

代碼清單:檢驗Python安裝

至此,最新版 Python 已經安裝完成,我們可以愉快地使用 Python 程式設計了。