jas0nhuang

在 Pi上安裝 Python3.7及 Django

安裝 Python3.7

因為 Raspberry Pi上面的 Python不是最新版本的,所以要使用最新版本的只能從官網下載原始碼安裝。以下為安裝流程:

刪除舊版:

sudo apt autoremove python*

(這同時會刪除 nodejs所以安裝好 python之後還要重新安裝 nodejs)

安裝依賴程式

sudo apt update
sudo apt install -y build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev libffi-dev

下載 python源檔,並解壓縮到新資料夾裡:

wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
tar xf Python-3.7.0.tar.xz
cd Python-3.7.0

設定並編譯:

./configure --prefix=/usr/local/opt/python-3.7.0
make -j 4

這裡建議不要直接複製貼上,好像 - 在HTML裡的顯示會有些問題,我參考的部落格還只有一個 - ,害我要找股溝求救。

安裝

sudo make altinstall

設定連結

sudo ln -s /usr/local/opt/python-3.7.0/bin/pydoc3.7 /usr/bin/pydoc3.7
sudo ln -s /usr/local/opt/python-3.7.0/bin/python3.7 /usr/bin/python3.7
sudo ln -s /usr/local/opt/python-3.7.0/bin/python3.7m /usr/bin/python3.7m
sudo ln -s /usr/local/opt/python-3.7.0/bin/pyvenv-3.7 /usr/bin/pyvenv-3.7
sudo ln -s /usr/local/opt/python-3.7.0/bin/pip3.7 /usr/bin/pip3.7
alias python="/usr/bin/python3.7"
alias python3="/usr/bin/python3.7"
ls /usr/bin/python*
cd ..
sudo rm -r Python-3.7.0
rm Python-3.7.0.tar.xz
. ~/.bashrc

確定安裝無誤

python -V

下載並安裝最新版的 pip

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py

安裝 Django

建立並進入一個工作資料夾:

mkdir djangoproject
cd djangoproject

建立虛擬環境 (venv)

在虛擬環境裡工作的優點:

  • 專案專用 Python環境
  • 不須 root權限即可安裝套件
  • 方便控管套件版本,避免專案間互相影響
  • 如許多人協作,可確保環境一致。

Python3.3之後已內建 venv模組,直接使用即可:

python3.7 -m venv djangoproject_venv

切換至虛擬環境

source djangoproject_venv/bin/activate

看到命令列前多出(djangoprojcet_venv)就是成功切換至該虛擬環境了

安裝 Django

pip3.7 install Django==2.2.1

運行 Python互動模式,輸入:

import django
django.VERSION

會出現:(2,2,1, ‘final’, 0)
這樣就完成安裝了

參考來源:
How to install Python 3.7 on Raspberry Pi
pip 19.1 documentation - Installing
Django Girls- 安裝 Django