在樹莓派(Raspberry Pi)上編譯安裝更新版本的Python


Raspiban Wheezy上預裝的Python3版本是3.2.3,本文將介紹升級到3.4.3的方法。

此文也適用於安裝其它版本(比如最新版本)的Python,只要下載時選擇特定版本可以了。

 

我用的是B+型的樹莓派,系統是2014-06-20發布的Raspbian Wheezy。

此文也適用於其它Debian系的linux系統(比如Ubuntu)。

 

先把整個raspbian系統升級到最新。

這一步不是必須的,可能用時較長,完成后可能需要重啟。

sudo apt-get update
s
udo apt-get upgrade
sudo apt-get dist-upgrade

 

我們就在當前用戶的home目錄下進行吧,進到此目錄

cd ~

 

安裝python 3.4需要的依賴。有些東西可能已經存在了,會自動忽略。

sudo apt-get install build-essential libsqlite3-dev sqlite3 bzip2 libbz2-dev zlib1g-dev libssl-dev openssl libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libncursesw5-dev libffi-dev uuid-dev

這樣編譯出來的Python 3.4仍會缺少tkinter模塊(用於GUI圖形用戶界面編程),在樹莓派上可能用不到這個模塊,所以刻意不編譯它。

如果想使用tkinter,或想編譯一個完整的Python,在這里加上tk tk-dev tcl tcl-dev這幾個依賴包即可。

 

下載Python源碼、解壓。

第1行的命令,從Python官網下載3.4.3版的源碼。

第2行的命令,把源碼解壓到當前目錄下的Python-3.4.3目錄里。

wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz
tar zxvf Python-3.4.3.tgz

 

配置、編譯、安裝。如果順利的話,在樹莓派B+用時1小時20分鍾左右,編譯后源碼的目錄會膨脹到130 MB。

第2行后面的參數表示,我們要把新版Python安裝到/opt/python3.4目錄下。

在make命令后再執行一次make命令(會運行極短時間),既可看到仍有哪些Python模塊無法編譯,然后排查原因(通常是沒安裝相應的依賴包)。

cd ./Python-3.4.3
./configure --prefix=/opt/python3.4
make
make

sudo make install

可以給./configure后面加上優化選項,如下是打開LTO優化:

./configure --prefix=/opt/python3.5 --with-lto

推薦打開這個選項,這個選項在Python 3.5及以上版本才有。

(還有關於GPO的優化選項,一般在樹莓派上用不到GPO優化,這里就不說了,需要請查閱文檔。)

 

創建軟鏈接。創建之后,打python3.4就能啟動Python 3.4.3了。

第一行創建/usr/bin/python3.4這個軟鏈接指向Python 3.4.3。

第二行創建一個pip的軟鏈接。pip已經被官方集成到Python 3.4里,用它安裝pypi上的第三方模塊很方便。

sudo ln -s /opt/python3.4/bin/python3.4   /usr/bin/python3.4
sudo ln -s /opt/python3.4/bin/pip3.4         /usr/bin/pip3.4

(注意不要覆蓋/usr/bin/python3這個軟鏈接,python3命令(啟動系統自帶的Python)及其安裝的模塊承擔了系統維護的工作。

至此,安裝成功,打python3.4可以啟動Python 3.4.3

 

需要說明一下,在新安裝的Python 3.4.3里可以正常使用sqlite3,但sqlite的版本比較舊:

Windows上Python 3.4.3自帶的sqlite版本是3.8.3.1,這是因為使用了Raspbian自帶的sqlite的緣故,其它通過鏈接使用的模塊也可能出現此問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM