树莓派的环境配置

说明

  • 已经在电脑上写了不少代码了,现在想迁移到树莓派上,把树莓派的环境配置好。
  • 本来以为会非常艰难,结果发现,远比想象的还要难。
  • 我们需要配置的环境包括 Python 的各个包,以及各个包的兼容;git 安装;编辑器安装;mongoDB 安装。

失败的环境

  • 经过不断地尝试,换了几次系统,下载了无数次乱七八糟的东西,发现实在搞不定 chromium-driver,要求太苛刻了,算了算了,我们把 selenium 移除了,这个东西确实也比较影响速度和性能。
  • 有一些包安装不了,sklearn、matplotlib、urllib 无法安装,motplotlib 只在电脑上使用,sklearn 也可以只在电脑上建模地时候跑,不影响使用。urllib 的问题后面说。

更换系统

  • 我们之前的系统是 32 位的 Linux 系统,所以有很多不方便,很多应用都是 64 位的。最近几个月,出现了一个 64 位的测试系统,虽然没有正式发布,但是我们不太吃系统,只要能安装应用就可以,所以我就更换了 64 位的 arm64 系统。
  • 不更换系统后面的应用无法正确安装

安装 git、vs code-oss

  • 在安装之前,我们需要先升级一下 apt 的列表和应用,apt 相当于管理应用的工具,就和 pip 差不多。
sudo apt update
sudo apt upgrade
  • sudo 命令是一个前缀,表示给你管理员的权限。
  • 然后我们安装 git、生成 SSH 密匙
sudo apt install git
ssh-keygen -t rsa -C "youremail@example.com"
  • 之后和 windows 一样,把密匙整到 git 上,就可以了,之后在树莓派上就可以用 git 了,在 commit 的时候,可能会让你设置你的邮箱和名称,按照提示输入就好了,一般是下面两行:
git config --global user.name "yourNameInGit"
git config --global user.email "yourEmailInGit"

git config --global -l //这条命令是用来查看上面的信息是否之前已经被输入了,自己检查下
  • 之后就可以很方便管理代码了。
  • 因为用的是 4B 的板子,还是比较顶的,就可以安装一个 code-oss 直接调试,后期看喜好,其实也可以用 Pycharm 远程调试。我们就简单粗暴一点,反正有远程桌面。
  • code-oss 是以前在 linux 上用的 vs code,现在据说 code 也可以了,但是劝退了,有个能调试的就行。
  • 进入网站:https://packagecloud.io/headmelted/codebuilds,找到你系统的型号,我这里就是 arm64,然后用树莓派直接下载安装。(我写总结的时候发现的,当时我好像是直接在windows上下载了包)

  • 安装方法很简单,直接用下面的命令:
wget code-oss_1.45.0-1586135971_arm64.deb
sudo dpkg -i code-oss_1.45.0-1586135971_arm64.deb
  • wget 是从网上下载,dpkg 就是解压并安装。

mongoDB 安装和调试

  • 以前的树莓派系统都是 32 位,现在换成了 64 位,我们就可以去官网下载了~

  • 就是这个,选择 ubuntu 18.04 arm64,可以 copy link 在树莓派上操作,也可以下载后用 U 盘转移到树莓派上,然后 dpkg 就完事了。
  • mongoDB 服务似乎每次开机需要我们重新开启,否则用不了,这是一个坑,大家最好尝试一下,否则会怀疑是程序问题。用下面的代码开启服务:
sudo systemctl enable mongod
sudo systemctl start mongod
  • 下面的代码可以检查状态:
sudo systemctl status mongod

一个网站

  • 之前在尝试安装 chromium-browser 的时候,碰到了一个很好地网站,虽然没用上,但是记录一下,说不定之后就用了。

  • https://pkgs.org/

Python 装包

  • 用 Python 装包经常被墙,我们用国内的镜像源安装,比如用清华大学的镜像安装,就用下面的代码:
sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple yourPackageName
  • 将 yourPackageName 换成你要安装的包的名字就可以了

  • 注意树莓派自带 Python2 和 3,所以一定一定要 pip3

  • 暂时用到的包名列表如下:

requests
beautifulsoup4
lxml
pymongo
playsound
jieba
pypinyin

关于 urllib 和爬虫

  • 由于无法安装 urllib,所以我们请求网站都用 requests 就可以了,然后中文转 url 码需要用到 urllib.parse,所以我们直接把这个源码给复制到我们的 common 包中,呵呵呵,简单粗暴,实测有效。
  • 所以我们只是用 common.urllibParse.quote 这个函数。
  • 另外就是有一个爬虫的 API 很奇怪,在 windows 上可以不加 user-agent,但是在树莓派上必须要 user-agent

关于 playsound

  • 在树莓派中,播放音乐 playsound.playsound('test.mp3') 会报错,去网上找了一下,在 git 的 issue 里面找到了解决方法,真是离谱,安装一个东西就好了。
sudo apt install python3-gst-1.0

总结

  • 难以置信,我们终于可以在树莓派上愉快地跑代码了,除了 selenium 不用了,一切安好~

本文章使用limfx的vsocde插件快速发布