樹莓派3B裝系統,python環境3.5,安裝numpy,tensorflow,keras和opencv

最近在做畢業設計需要用到樹莓派,因爲剛剛接觸樹莓派所以感覺有些費勁,所以記錄一下一個小白從重新裝系統到搭建開發環境的整個過程當一個參考。首先說點感觸,整個安裝過程很難過,要下載一些安裝文件,下載速度慢到不行,動不動就Read Time Out或者HASH加密不匹配之類的,這些都是因爲網絡問題,建議早上早點起來下載安裝,那個時候絕對快。還有就是不要自己給自己找麻煩,如果你有幸讀到這個可能會省下你很多時間。建議在樹莓派上直接用系統自帶的python版本2.7和3.5。我試過3.6的不行。

1.樹莓派系統類型

我使用的是Raspbain系統(後面的百度網盤鏈接),在官網上下載可能有點慢,可以在百度網盤上下載可能會快一點。鏈接:https://pan.baidu.com/s/1h5Roksd5Jf394Coyx2c1BA  提取碼:5fbd           這是2019年的其中一個版本。

2.新裝系統時可能會用到的一些工具

SD卡格式化軟件(SD Formatter 4.0 綠色中文版): 鏈接:https://pan.baidu.com/s/17U7IcWO6jyMPOt3ooO1pGg   提取碼:0lua

燒錄系統軟件(Win32DiskImager-0.9.5-binary):鏈接:https://pan.baidu.com/s/11xFvxgO1iTDNvgEU8-bYuQ      提取碼:06n3

遠程登錄軟件(PUTTY和VCN,以後開發備用):鏈接:https://pan.baidu.com/s/1J8MOuIvdwwyMGqrO31UssQ    提取碼:pdim

其實裝系統的過程很簡單,以上軟件具體怎麼使用和注意的事項你自己再百度吧!

3.裝完系統之後樹莓派開機設置

我裝的這個系統首次開機進來就有一個圖形界面讓選擇無線網、時間地域(China,ShangHai)和一系列其他的設置,就像是windows一樣很友好。如果不小心關閉了設置也可以在左上角點擊小草莓>>首選項>>Raspberry Pi Configuration,這裏可以改密碼、設置Camera、SSH、VNC等等interface的使用權限。再者也可以使用

sudo raspi-config

啓動類似於windows裏面BIOS的系統配置,基本上會一點英語的都能看懂他的配置選項。

4.接着就是使用系統自帶python版本3.5

首先說明,這個系統內自帶python,版本分別是2.7和3.5,但系統默認使用的是2.7的,如果你想使用3.5的那就需要在命令窗口執行

#移除系統默認python版本的引用
sudo rm /usr/bin/python
#添加你要引用的版本,打比方你要用3.5
sudo ln -s /usr/bin/python3.5 /usr/bin/python
#接着看一下python的版本
python --version

基本上通過上面的操作能夠更換系統默認版本問題,除非你沒有python3.5文件夾在/usr/bin下面,嚴重聲明不要自己給自己找麻煩,3.6真的不行,有很多第三方的庫下載不到,而且還會和本系統自帶的python搞得很混亂,如果你真的裝了其它的python版本,建議你重新安裝一下系統這樣會省下你很多百度的時間。

5.接下來進入最難搞環節安裝第三方庫(預備)

我們應該感到憤怒python的第三方庫需要在外國網站上下載,速度很慢很慢,經常因爲網絡問題導致一次次下載失敗,所以我們需要搞一個鏡像網站來,這也是我借鑑來的,出自此處但是我建議不要弄這個,我弄瞭然後又改回來了,因爲系統需要的一些安裝包在鏡像網站上找不到。你可以試試,要是不行的話記得改回來就行了。

# 給Raspbian的包管理器apt-get換源
# 打開配置sources.list文件
sudo nano /etc/apt/sources.list

# 用#註釋掉原文件內容,不要刪除,用以下內容取代(Ctrl + O 保存再 Ctrl + X 退出):
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

# 打開配置raspi.list文件
sudo nano /etc/apt/sources.list.d/raspi.list

# 用#註釋掉原文件內容,不要刪除,用以下內容取代(Ctrl + O 保存再 Ctrl + X 退出)
deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui

# 編輯鏡像站後,請使用命令
sudo apt-get update

#例如,你需要安裝numpy則進行這樣操作
pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

#以後在樹莓派上安裝其他包可以直接pip install 安裝,如果不行就按照上面的格式來安裝

6.安裝開發環境

首先要說一下,安裝是有順序的先安裝numpy,再安裝tensorflow,再安裝keras最後是opencv如果你不按照順序的話會出錯誤的

如果你也使用的我推薦的系統的話那我把我翻牆下載的一些必要whl文件分享給你。這裏面有兩個tensorflow的版本高版本的會有警告 RuntimeWarning: compiletime version 3.4 of module 'tensorflow.python.framework.fast_tensor_util' does not match runtime version 3.5; uiltins.type size changed, may indicate binary incompatibility. Expected 432, got 412  但是可以正常使用。   鏈接:https://pan.baidu.com/s/1EA0EvKs3FoaKQo_Vy17BGA     提取碼:4v6x 

我爲了解決這個警告才下載的那個低版本的tensorflow-1.13.1

爲了保險起見我說一下上面的whl文件的使用方法

#例如:
#你在raspberry pi輸入shell命令
sudo pip install numpy

#它會顯示它正在進行的任務,一般都會有https://www.piwheels.org/simple/numpy/numpy-1.18.2-cp35-cp35m-linux_armv7l.whl這樣的地址
#這說明他在下載numpy-1.18.2-cp35-cp35m-linux_armv7l.whl這個文件

#你就可以直接把百度雲上下載的numpy-1.18.2-cp35-cp35m-linux_armv7l.whl文件放到/home/pi文件夾下執行
sudo pip install numpy-1.18.2-cp35-cp35m-linux_armv7l.whl

#這樣省得你再去下載了,其他的類似。上面提供的whl文件有kears,tensorflow,numpy,scipy和opencv

安裝keras時需要先執行一些其他的命令:

sudo apt-get install libhdf5-serial-dev
sudo pip install h5py
sudo pip install pillow imutils
sudo pip install scipy --no-cache-dir
# sudo pip install Keras-2.3.1-py2.py3-none-any.whl
sudo pip install keras

安裝opencv之後也要先執行一些其他的命令確保  import cv2  能夠正常導入:

sudo apt-get update

sudo apt-get install libjpeg-dev libatlas-base-dev libjpeg-dev libtiff5-dev libpng12-dev libqtgui4 libqt4-test libjasper-dev

# sudo pip install opencv_python-4.1.1.26-cp35-cp35m-linux_armv7l.whl
sudo pip install opencv-python
sudo apt-get install libhdf5-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libjasper-dev
sudo apt-get install libqtgui4
sudo apt-get install python3-pyqt5
sudo apt-get install libqt4-test

7.你可能遇到的錯誤

(1)dpkg:處理包XXX(--configure)

就是在你apt-get update時會出一些錯誤說有一些依賴沒有被配置之類的話,你可以這樣解決,參考來自這裏

#先切換到root用戶

sudo su     
#將info文件移動備份爲info_bak文件        
mv /var/lib/dpkg/info     /var/lib/dpkg/info_bak

#創建一個新的info文件
mkdir /var/lib/dpkg/info

#更新配置,並安裝那些沒有配置的到info文件中
apt-get update && apt-get -f install 

#將info中的所有移動到info_bak中
mv /var/lib/dpkg/info/*        /var/lib/dpkg/info_bak/

#移除
rm -rf /var/lib/dpkg/info

#移動備份
mv /var/lib/dpkg/info_bak /var/lib/dpkg/info

(2)pip 安裝keras Buliding wheel for scripy(PEP 517)一直無法通過

是因爲你的scipy沒有安裝,你需要sudo pip insatll scipy一下,這個不好下載!你可以獲得下載地址之後通過瀏覽器自行下載完之後再運行 sudo pip install scipy.xxx.xxx.xxx.whl

#例如下載地址是:https://www.piwheels.org/simple/opencv-python/scipy-1.3.3-cp35-cp35m-linux_armv7l.whl
#訪問網址下載完之後再執行
sudo pip install scipy-1.3.3-cp35-cp35m-linux_armv7l.whl

(3)導入numpy或者keras時報numpy導入失敗的錯誤

Importing the numpy c-extensions failed.

Try uninstalling and reinstalling numpy.

If you have already done that, then:

Check that you expected to use Python3.5 from "/usr/bin/python3",
and that you have no directories in your PATH or PYTHONPATH that can
interfere with the Python and numpy version "1.18.1" you're trying to use.
If (1) looks fine, you can open a new issue at
https://github.com/numpy/numpy/issues. Please include details on:
how you installed Python
how you installed numpy
your operating system
whether or not you have multiple versions of Python installed
if you built from source, your compiler versions and ideally a build log
If you're working with a numpy git repository, try git clean -xdf
(removes all files not under version control) and rebuild numpy.

Note: this error has many possible causes, so please don't comment on
an existing issue about this - open a new one instead.

Original error was: libf77blas.so.3: cannot open shared object file: No such file or directory

解決辦法是

sudo apt-get install libatlas-base-dev

如果無法定位到libatlas-base-dev的話,你看看是不是你把原來的資源來源給換掉了,也就是你是不是添加了鏡像網站,如果添加了你再去掉然後執行apt-get update應該就沒問題了。

最後:與君你共勉!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章