Linux安裝最新版本Python

昨天新版的Python 3.11發佈了,官方說3.11比3.10快 10-60%,標準測試集快1.25x,還有其它的方面的更新,那問題來了,Linux下如何更新到最新版本。

1. 官網下載最新版本Python源碼

前往Python官網 https://www.python.org/downloads/

download latest python

2. 解壓

解壓上一步下載的最新版本Python

tar -xvf Python-3.11.0.tar.xz

進入解壓後的目錄

cd Python-3.11.0

3. 安裝依賴

我用的Ubuntu,Debian系對應的依賴爲:

sudo apt-get install build-essential gdb lcov pkg-config \
    libbz2-dev libffi-dev libgdbm-dev libgdbm-compat-dev liblzma-dev \
    libncurses5-dev libreadline6-dev libsqlite3-dev libssl-dev \
    lzma lzma-dev tk-dev uuid-dev zlib1g-dev

細心的讀者可能會有疑問,你怎麼知道依賴這些安裝包的,其實Python解壓後的源碼目錄中 README.rst文件裏有提到相關依賴說明,安裝軟件先讀其說明文檔是個好習慣。如下圖所示,鏈接裏面有說明依賴包。

Python readme

4. 編譯

這一步沒什麼好解釋的,如果需要調整配置的話,可先運行 ./configure --help 查詢幫助信息。

./configure
make

值得一提的是,make可接 j 參數,比如4核心cpu的系統,make -j4 可加快編譯速度

5. 安裝(重要步驟)

這一步很關鍵,因爲Python是Linux系統的重要軟件包,大部分情況下都不推薦直接make install安裝,這樣會覆蓋系統的基礎版本Python,導致不必要的意外情況,強烈建議:

make altinstall

make altinstall 會安裝到${prefix}/bin/python3,而 ${prefix}/bin/python3 是鏈接到 ${prefix}/bin/python3.X的,這樣多版本可以和諧共存,互不侵犯。

6. 確認

仔細看上一步驟回顯的話,最新版本Python默認被安裝到/usr/local/bin/python3.11

~ which python3.11
/usr/local/bin/python3.11

7. 自己做個軟鏈接

爲了少敲幾個字符,可以做個軟鏈接,/usr/bin/python 存在的話,可先備份再刪除。 如今大部分系統默認升級到python3,所以選擇鏈接到python而不是python3

sudo ln -s /usr/local/bin/python3.11 /usr/bin/python

8. 安裝iPython

iPython 比 Python自帶的解釋器好用

python -m pip install ipython

9. 最終結果

檢查Python和iPython,一切正常

➜  ~ python
Python 3.11.0 (main, Oct 25 2022, 11:03:14) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
➜  ~ ipython
Python 3.11.0 (main, Oct 25 2022, 11:03:14) [GCC 12.2.0]
Type 'copyright', 'credits' or 'license' for more information
IPython 8.5.0 -- An enhanced Interactive Python. Type '?' for help.

最後,Python官方文檔也有一些相關說明,感興趣的可以看看:https://docs.python.org/3.11/using/unix.html#getting-and-installing-the-latest-version-of-python

相關文章:

翻譯: