树梅派开发环境的搭建还是比较容易的,其中最烦人的是源的问题,初次启动的更新我反复试了近十遍才成功,tensorflow的安装也是下载了好几遍。但经过一天的摸索,终于算是一个不错的python开发环境了,几乎树梅派使用我都是围绕python3。
1. 系统安装
使用stretch-18.10.09的系统最好坚持更新成功再使用,直接安装有中文输入法很方便。但由于网络问题出现散列和不匹配错误,可在terminal中先执行sudo apt clean
命令后再重试,总有一次运气好就成功了。试过直接跳过再通过apt update来更新,不会安装输入法,似乎也没有切换系统为中文。
2. 系统配置
默认没有开启ssh、vnc等服务,可运行raspi-config使能ssh,vnc等功能,还可以设置显存大小、分辨率和音频输出位置等。完成后先不重启,装个vim是很有必要的,配置.vimrc文件set num,set ts=4
,从/etc/vim/vimrc配置中启用高亮syntax on
和括号配对set showmatch,set ignorecase
。树梅派自带leafpad图形界面编辑器可替代gedit。更新apt,试过换源,不太顺利,然后又换回来了,慢点就等吧。中文输入法有大黑框bug,删除外观设置重启即可sudo apt remove fcitx-module-kimpanel
,重启后设置下输入法切换快捷键和面板设置。
3. 安装python3的virtualenv来管理虚拟环境
在有多python版本的环境下使用和安装新包需要小心,容易搞混。尝试过卸载python2系统仍可用,pyenv和pyenv-virtualenv加virtualenv配合使用出过错,不需要多小版本python还是用virtualenv比较容易。
安装python3的virtualenv:sudo pip3 install virtualenv
,不清楚这的sudo有没有必要,个人觉得和系统相关的就该加,而在虚拟环境中pip安装就不加。
如果用了pyenv安装多小版本后,virtualenv需要制定到小数点后,不会直接用pyenv global指定的版本,如virtualenv 3.6pyenv -p python3.6
。安装pyenv的方法和ubuntu中一样,我没有再装pyenv-virtualenv,使用pyenv安装小版本时先安装依赖:首先将/etc/apt/source.list里的deb-src源注释去掉,apt更新,完成后才能安装依赖sudo apt-get build-dep python2.7
。
4. python3中pip安装opencv-python
很多教程是源码编译安装,但现在python3中也可以通过pip直接安装,只是需要安装很多系统依赖,按照导入时的提示就可完成,大致过程是先激活一个虚拟环境:
pip install opencv-python # 进入python,根据import cv2的报错信息安装下面依赖
sudo apt-get install libatlas3-base
sudo apt-get install libjasper1
sudo apt-get install libgst7
sudo apt-get install python3-gst-1.0
sudo apt-get install libqtgui4
sudo apt-get install libqt4-test
sudo apt-get install libilmbase12
sudo apt-get install openexr
sudo apt-get install libavcodec57
sudo apt-get install libavformat57
sudo apt-get install libswscale4
5. python3.5安装tensorflow
在https://www.piwheels.org/simple/tensorflow/
可以看到当前tensorflow支持版本最高为3.5,所以创建一个3.5的虚拟环境进行安装
sudo apt install libatlas-base-dev
pip3 install tensorflow
安装过程可能很长,就是网络原因出错,包括opencv安装也会遇到,比如其中一个依赖h5py
。使用时会有一些警告,不知道原因,暂时不影响使用。
6. 安装vscode
有一个别人编译好的适合树梅派使用的vscode,链接 下载后直接点击安装即可,安装后可通过apt更新到最新。通过简单设置即可使用:如需切换中文先安装中文插件,ctrl+shift+p搜索language,在locale.json中修改"locale":“zh-CN”。再安装python插件,它会通过pylint补全代码,通过首选项找到python语言设置,打开User setting可以添加用户设置覆盖默认设置
"python.pythonPath": "/home/pi/Project/pyenv/testenv/bin/python",
"terminal.integrated.rendererType": "dom"
第一句是指定python环境,第二句是指定集成终端的渲染。