簡(jiǎn)介: Python 是世界上被廣泛使用的編程語言之一。語法簡(jiǎn)單易學(xué),Python 是初學(xué)者和有工作經(jīng)驗(yàn)者的一個(gè)很流行的選擇。Python 是一個(gè)多功能的編程語言。它可以被用來構(gòu)建各種應(yīng)用程序,從簡(jiǎn)單的腳本到復(fù)雜的機(jī)器學(xué)習(xí)算法。本文將為大家講解如何在 CentOS 8 上如何從源碼構(gòu)建 Python 3.8。
東阿網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)建站成立于2013年到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。
首先,????????記得換源
從源碼編譯 Python 需要 C/C++ 編譯器和其他開發(fā)軟件包。 第一件事情就是在 CentOS 8 上安裝必要的軟件包,以便從源碼構(gòu)建 Python。想要這么做,以 root 或者其他有 sudo 權(quán)限用戶身份運(yùn)行下面的命令:dnf groupinstall 'development tools'
然后在安裝一些解壓和編譯需要的依賴
dnf install bzip2-devel expat-devel gdbm-devel libffi-devel\
ncurses-devel openssl-devel readline-devel \
sqlite-devel tk-devel xz-devel zlib-devel wget
使用wget
從Python 下載頁面下載最新的源代碼。wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz
root@localhost]# wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz
--2022-05-11 16:42:32-- https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz
Resolving www.python.org (www.python.org)... 151.101.72.223, 2a04:4e42:1a::223
Connecting to www.python.org (www.python.org)|151.101.72.223|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: (23M) [application/octet-stream]
Saving to: 'Python-3.8.1.tgz'
Python-3.8.1.tgz 100%[=====================================================================================================================================================>] 22.87M 3.40MB/s in 6.6s
2022-05-11 16:42:39 (3.44 MB/s) - 'Python-3.8.1.tgz' saved [/]
當(dāng)下載完成,解壓壓縮包:tar xvf Python-3.8.1.tgz
命令:./configure --prefix=/usr/local/python3.8.1 --with-ssl
如果出現(xiàn)上面的一句話意思是:執(zhí)行該命令后,會(huì)編譯安裝到 /usr/local/bin/
下,且不用添加軟連接或環(huán)境變量。所以我們可以執(zhí)行上述命令。執(zhí)行命令:./configure --enable-optimizations
然后開始編譯安裝make && make install
注意我們工作路徑是--prefix=
后面的路徑,然后現(xiàn)在我們添加軟連接在增加環(huán)境變量
[root@localhost Python-3.8.1]# ln -s /usr/local/python3.8.1/bin/python3 /usr/local/bin/python3
[root@localhost Python-3.8.1]# ln -s /usr/local/python3.8.1/bin/pip33 /usr/local/bin/pip3
切換到 Python 源碼目錄,并且運(yùn)行configure
腳本。它會(huì)在你現(xiàn)在的系統(tǒng)上執(zhí)行一些列的檢測(cè),來確保所有的依賴條件都已經(jīng)滿足:
./configure --enable-optimizations
--enable-optimizations
選項(xiàng)通過運(yùn)行多次測(cè)試,來優(yōu)化 Python 二進(jìn)制文件。這將會(huì)使得構(gòu)建過程更慢。
通過運(yùn)行下面的命令,開始 Python 3.8 的構(gòu)建:make -j 4
根據(jù)你的處理器核心數(shù)來修改這個(gè)-j
參數(shù)。你可以通過運(yùn)行nproc
來找到你的處理器核心數(shù)。
[root@localhost Python-3.8.1]# nproc
8
構(gòu)建過程結(jié)束,安裝 Python 二進(jìn)制文件:make altinstall
請(qǐng)不要使用標(biāo)準(zhǔn)的make install
,因?yàn)樗鼤?huì)覆蓋默認(rèn)的系統(tǒng) Python 二進(jìn)制包。
安裝編譯的過程結(jié)束了,不過并沒有添加環(huán)境變量,所以使用時(shí)需要用python3.8 xxx.py
[root@localhost Python-3.8.1]# python3.8 --version
Python 3.8.1