樹莓派上編譯安裝Python3
阿新 • • 發佈:2019-01-06
在樹莓派上編譯安裝Python3
問題由來
一切始於我的一個專案:我希望能在樹莓派上執行Django 2.0伺服器,但是令我困擾的是專案中的urls.py檔案中用到的include函式與樹莓派系統自帶的python3.5不搭調:Django中的path()函式在引入來自app的urls.py檔案時,需要ctypes.test模組,然而尷尬的是raspbian自帶的python3為3.5版本,它的ctypes模組中並沒有包含test包。之後對比了一下Mac上的python3和Raspberry Pi上Python3的異同,我注意到一點:raspi的Python3中ctypes缺失了test和macholib。所以,一個想法是把缺失的給補上。
解決方法
有兩個思路:
- 直接把這兩個包“放”到ctypes中(可能可行,但是我並沒有找到方法)
- 重新編譯安裝一個新版本的python3
解決步驟
1. 安裝python3所需要的庫
build-essential libsqlite3-dev sqlite3 bzip2 libbz2-dev libssl-dev openssl libgdbm-dev liblzma-dev libreadline-dev libncursesw5-dev
2. 下載python3.6.4(寫稿截止最新)的原始碼並解壓
點選這裡 下載python 3.6.4的原始碼,並解壓縮:
tar -zvxf Python-3.6.4.tgz
3. 編譯原始碼
進入解壓後的目錄,進行編譯:
./configure
make
4. 安裝python3
編譯可能會需要一段時間,大約20分鐘左右(視情況而定)。編譯完成後,我們需要進行安裝:
sudo make install
安裝完成後,軟體應該會被安裝在/usr/local/bin/
下面,我們需要建立一個軟連線,便於以後的使用:
ln -s /usr/local/bin/python3.6 /usr/bin/python3.6
注意,這裡我只是為了區分原來系統自帶的python3,而選擇將軟連結建立為/usr/bin/python3.6
5. 安裝pip3
之後,我們可以照常安裝pip了:
sudo apt-get install python3-pip python3-dev
sudo pip install --upgrade pip
6. 安裝django
一切完工後,我們可以通過pip進行django的安裝:
sudo pip3 install django
之後,一切大功告成啦!