以跨平臺相容性著稱的 Python,開發版本還是得慎選,否則在 Windows 上寫的很開心換到 Linux 平臺就馬上頭痛。大部分Linux都有内建 Python2.7、及 Python3.5,但偏偏 Python 在 3.6 以後的版本新增了很多方便的語法,因此想要使用 Python3.8 的話就需要自行下載安裝。
安裝 Python3.8
方法一:從 PPA 安裝
大部分網站都可以找到這個方法,就是新增 ppa 源然後直接下載執行檔。
$ sudo add-apt-repository ppa:deadsnakes/ppa
$ sudo apt update
$ sudo apt install python3.8
方法二:自己 Build Source Code
人生就是這個但是,新增 ppa 源失敗啊~~~只好自己 Build Python 到系統。
首先安裝 Build Code 需要的依賴包。
$ sudo apt update
$ sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget
下載 Python3.8 原始碼並解壓縮。
$ cd ~/Downloads
$ wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
$ tar -xf Python-3.8.0.tgz
進入 Source Code 開始 Build Code 的步驟。
$ cd Python-3.8.0
$ ./configure --enable-shared
--enable-optimizations
選項會有問題,所以這邊不加,如果要使用 Pyinstaller 要加上 --enable-shared
選項。
$ make
$ sudo make altinstall
最後使用altinstall
可以避免改到原生的 Python。
檢查 Python 版本
進入終端機敲入查看是否安裝成功~
$ python3.8 --version
Python 3.8.0
安裝 pip for Python3.8
先安裝 pip3。
$ sudo apt install python3-pip
這個裝好會變成是給 Python3.5 用的,所以要用 Python3.8 再安裝一次。
$ python3.8 -m pip install pip
接下來要修改 bash 設定檔以新增 pip 的所在路徑 ~/.local/bin
。把以下文字貼在 ~/.bashrc
最後面即可。
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH"
fi
重啓終端機或輸入以下 command 載入新設定。
$ source ~/.bashrc
檢查 pip 版本
進入終端機敲入查看是否安裝成功~
$ pip --version
pip 20.2 from /usr/local/lib/python3.8/site-packages/pip (python 3.8)
如果遇到 module ‘platform’ has no attribute ‘linux_distribution 的問題,可以參考 stackoverflow 這篇的作法。
後話
在開發 Python Project 之前,先了解一下需要支援的平臺及環境,以確保使用的 Python 版本可以正確被執行~如果是既有的 Project,要嘛降版改寫語法(自找麻煩),要嘛就是把環境安裝回來。
僅此記錄一下。