树莓派能做什么?关于此命题,最直观感受就是看看树莓派实验室整理的一些案例,相信你心目中会有答案的。例如,打造一个家庭媒体中心 ( KODI )、配置无线路由器、搭建 BT 下载服务器、搭建代码托管服务器 ( SVN、GIt )、搭建网站服务器、搭建 Shadowsocks、用 HomeKit + Siri 声控家里电器等,即可把树莓派想象成嵌入式、微小型的服务器,这一过程就好比操作系统 ( Linux ) 赋予硬件生命,编程 ( Python、Java )、程序灌入灵魂,借助树莓派低能耗、移动便携性、GPIO 等特性,很多想法不是不可能,相信树莓派会给你创造更多的惊喜!
需要说明的是,本文将围绕两大方面去探索树莓派,即基础应用和解决方案两大部分,也可理解为基础到进阶的过程。
- 基础应用:介绍使用树莓派必须的应用或组件,这些应用和组件主要作用是:一方面是增强系统功能,另一方面则是为解决方案建立软件基础。
- 解决方案:诸如引言中谈及的,搭建服务器、智能家居控制中心等,即针对某部分需求集成为服务,学术说法称其为某某即服务 ( XaaS )。
版本信息
- 树莓派型号:树莓派 3B+
- 树莓派系统:Raspbian v.3.0.0
更新进度
- 2019.01.21:完成初稿,形成笔记的整体框架;
- 2019.02.25:更新「Jupyter 服务器」 章节内容;
- 2019.02.26:更新「Conda 服务器」 章节内容;
教学资源
- 🚩 | 社区 | 树莓派实验室 | 教程、创意、作品、资讯、硬件五位一体的爱好者交流社区。
- 🚩 | 社区 | 趣无尽 | 树莓派高端、创意的玩法探索博客站。
- 📄 | 资料 | 亚博智能官方资料. 树莓派3代B型开发板 | 资料打包下载 ( bwnr )
基础应用
TeamViewer 远程控制
引言
访问树莓派有多种方式,如直连显示器交互使用、通过 SSH 远程登录访问、通过软件实现控制使用等。其中,TeamViewer 是通过软件方式实现对树莓派的远程控制,其拥有有以下几种特性:
- 可穿透局域网,支持外网连接;
- 实时 GUI 界面显示;
- 支持文件双向传输。
配置
在本节,则单独介绍 TeamViewer 的配置与使用,当然教程是参考文章 [5]、[6] 整理而得。
删除 TeamViewer
删除 TeamViewer,用于安装出错时,清理残留软件包,方便从头再来。😂
此步骤是非必要执行的步骤。
1 | sudo apt-get remove teamviewer-host |
安装 TeamViewer
Step.01:进入 官方下载,在「TeamViewer Host for Raspberry Pi」模块,复制安装包地址,接着正式开始安装:
1 | # 通过 wget 在线下载安装包 |
配置 TeamViewer
Step.02:因为我们烧写的系统有图形界面,默认 TeamViewer 要在图形界面进行配置,如远程控制的账号、密码设置等。若有条件支持,可移步图形化界面操作,即可忽略此步骤。
没有图形界面,则我们需要在命令行下配置。使用
raspi-config
配置 Raspbian 仅命令行模式运行。1
2
3
4
5
6sudo raspi-config
# 命令模式的操作界面
# 依次选择操作 ( 同理,还原桌面模式也是类似操作 )
# Boot Options -> Desktop / CLI -> Console AutoLogin ->
# Finished
配置保存后,树莓派会自动重启,那么重新远程登录继续操作。
1
2
3
4
5
6
7
8
9
10
11sudo teamviewer setup
# 1. Accept License Agreement? (y/n) y
# 2. 输入用户名和密码的步骤无法跳过,没有账号请移步「官网完成注册」
# 注册地址:https://login.teamviewer.com/LogOn
# Please enter your e-mail / username: kofe
# Please enter your password: ******
# 3. 然后 TeamViewer 会发一份设备授权邮件,请移步「邮箱处理」
# 4. 重新输入用户名和密码登录,提示分组信息,点击 y:
# Adding this machine as 'raspberrypi' to ...
# Do you want to continue? (y/n) [n] y
# 5. 提示 "Successfully...." 即表示已经完成配置工作了
完成初始化配置后,只需设置远程控制密码即可使用了。
1
2
3
4# 查看本机 ID
teamviewer info
# 设置本机密码
teamviewer passwd [你的密码]
当然,我们还需要把 Raspbian 还原为图形化操作界面。
1
2
3sudo raspi-config
# Boot Options -> Desktop / CLI -> Desktop AutoLogin ->
# Finished
使用
一般情况下,我们主要是通过命令模式访问树莓派、配置 TeamViewer。当然也可以通过图形界面完成配置操作,按照文字提示操作即可,这里就不详细阐述了。附上 TeamViewer 常用的命令:
1
2
3
4
5
6
7
8
9
10# 查看帮助信息
teamviewer help
# 查看本机 ID
teamviewer info
# 设置本机密码
sudo teamviewer passwd [你的密码]
# 启动 TeamViewer 服务
sudo teamviewer --daemon start
# 开启 TeamViewer 服务随机启动
sudo teamviewer --daemon enable最后,关于图形化界面显示方面,可能还有分辨率调整与存在黑边的问题,详细可参考以下文章解决问题:
MySQL 数据库
引言
数据库的用途毋庸置疑,若在树莓派上跑脚本、程序、网站系统等,少不了数据的交互,为此我们需要一款数据库作为数据储存的媒介。MySQL,是一款开源免费的数据库,也是关系型数据库管理系统,支持多种存储引擎 $^{[1, 2]}$,对于个人开发和日常使用足矣。
以下将介绍,在树莓派 Raspbian 上安装 Mysql 服务,并开启远程访问。
安装 MySQL
删除 MySQL:安装前,确保系统没有旧版的 MySQL。
1
2
3
4
5
6
7sudo apt-get autoremove --purge mysql-server
sudo apt-get remove mysql-common
# 清除所有已删除包的残馀配置文件
# 若报错误 dpkg: –purge needs at least one package name argument
# 证明你的系统中没有残留配置文件了
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
安装 MySQL:
1
2
3sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install python-mysqldb # 安装 Python 接口的 MySQL
配置 MySQL
命令行安装,默认是不用配置用户和密码信息,故我们首先配置登录信息 $^{[3]}$:
1
2
3
4
5
6
7
8
9
10sudo mysql -u root # 无密码登录 MySQL
use mysql;
# 加密方式选择,系统默认是 'unix_socket',这里暂为空
UPDATE user SET plugin='' WHERE user='root';
UPDATE user SET password=PASSWORD('你自己的密码') WHERE user='root';
flush privileges; # 清空缓存
exit;操作数据库 ( 配置完信息,重启 MySQL 以让设置生效 )
1
2
3
4
5
6# sudo /etc/init.d/mysql status/start/stop/restart
sudo /etc/init.d/mysql restart
# 当然可通过 systemctl 命令管理系统服务
# sudo systemctl restart mysql # 重启系统服务
# sudo systemctl status mysql # 查看系统状态
开启远程访问
以上配置工作完成后,即可本地使用 MySQL 数据库了。若需要开启远程访问服务,我们还需要实现以下工作:防火墙与访问规则配置和远程登录的账号配置。
外网访问
若在树莓派下测试,让数据库允许外网访问,注意得关闭防火墙或添加规则允许某端口的访问权限 $^{[4]}$。
- Case.01:本机和服务器端 ( 树莓派 ) 互相 Ping 对方 IP,以检验网络是否畅通、是否拒绝访问。
Case.02:若网络畅通、没有拒绝访问,还要留意对应端口是否有权限访问,通过 nc -vz IP 端口检验,返回 Succeeded 即成功。
1
2
3
4
5# MacOS:nc -vz IP地址 端口号
nc -vz 192.168.x.x 3306
# Windows:telnet IP地址 端口号
telnet 192.168.x.x 22 # SSH 远程访问
telnet 192.168.x.x 3306 # MySQL 数据库
防火墙与访问规则
针对上述两种情况,则可通过关闭防火墙或者添加端口的访问规则,以授权 IP 和相关端口接受访问。
配置防火墙:
1
2
3
4
5
6
7
8# 安装 ufw ( 已安装忽略 )
sudo apt-get install ufw
# 设置默认规则为 allow,除指明打开的端口,所有端口默认关闭
ufw default deny
# 启用 /关闭 ufw
ufw enable/disable
# 查看防火墙状态
ufw status
配置访问规则:
1
2
3
4# 例如:打开 SSH 远程登录
sudo ufw allow 22
# 删除添加过的规则
sudo ufw delete allow 22
远程登录的账号
最后,我们还需要设置可远程登录的账号。
修改 MySQL 配置:
1
2
3sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
# 找到 bind-address 这行注释掉,然后重启
sudo systemctl restart mysql
修改 MySQL 账号信息:在配置
登录信息
时已授权,此项可日后用作远程登录账号的配置。1
2
3
4mysql -u root -p
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root账号密码' WITH GRANT OPTION;
flush privileges;
Jupyter 服务器
引言
Jupyter Notebooks 是什么?相信做数据科学项目的同学都清楚,Jupyter 其提供了一个集成环境,无需更多附加操作就可在其中编写你的代码、运行代码、查看输出、可视化数据并查看结果。
作为一款可执行端到端的数据科学工作流程的便捷工具,它不仅支持数据清理、统计建模、构建和训练机器学习模型、可视化数据等数据科学工作,而且其强大的交互性,使得它可以更具教学性的方式展示代码。
当然 Jupyter 也能运行其他 Python 程序,这里只是为了代入特定场景介绍它。
安装 Jupyter Notebook
在此之前,需要确保你安装了
Python
以及pip
模块。1
2
3# 树莓派 Raspbian 原生内置了 Python 2.7
# 我们需要基于 Python 3.x 基础上运作 Jupyter,则需要先安装 Python 3.x
sudo apt-get install python3.5 python3-pip安装 Jupyter Notebook:
若你已经有使用 virtualenv 的经验,强烈建议在虚拟环境中安装所需版本的 jupyter notebook。
1
2
3
4
5
6
7# 基于 Python 2.7
pip install --upgrade jupyter
# 基于 Python 3.x
pip3 install --upgrade jupyter
# 检查是否安装成功,成功返回版本号
jupyter --version
配置 Jupyter Notebook
配置 Jupyter Notebook,参考了文档 [7]:
生成配置文件:注意不同用户组,生成的配置文件是存放在不同位置的。
1
2
3
4
5# 配置文件存放于 /root/.jupyter/jupyter_notebook_config.py
sudo jupyter notebook --generate-config
# 配置文件存放于 /home/pi/.jupyter/jupyter_notebook_config.py ( 推荐 )
# /home/pi/ 为当前登录用户的工作目录
jupyter notebook --generate-config设置密码:终端进入 iPython / Python 环境,借助 Python 生成 SHA 密钥:
若不开启远程服务,则可跳过此步骤。
1
2
3
4
5
6from notebook.auth import passwd # 导入授权模块设置密码
# 提示键入密码 passwd()
Enter password: your password
Verify password: your password again
# 密码的哈希值,用于配置文件中设置密码
'sha1:67c9e601de......7d111089e11aed'进入配置文件:
1
sudo vim /home/pi/.jupyter/jupyter_notebook_config.py
修改配置内容:配置选项非常丰富,关于其他配置的选项用途详细可参考
jupyter_notebook_config.py
内的注释。1
2
3
4
5
6
7
8
9
10
11
12
13# 注意开启配置选项,记得去掉 #,才能使配置生效!
# 允许所有 IP 访问
c.NotebookApp.ip='*'
# 远程访问密钥
c.NotebookApp.password = u'sha:67c9e......11aed'
# 不在本机自动打开浏览器
c.NotebookApp.open_browser = False
# 指定监听端口
c.NotebookApp.port =8888
# Jupyter 的默认工作目录
c.NotebookApp.notebook_dir = '/home/pi/ipynb/'
# 允许使用 root 用户启动 jupyter
# c.NotebookApp.allow_root = True
- 启动 Jupyter Notebook:
jupyter notebook
拓展 Jupyter Notebook
开启远程访问
Jupyter Notebook 开启远程访问 ( 远程访问这里指同一局域网,其他终端访问树莓派,若是要外网访问请参阅内网穿透相关内容 ),但端口被拒绝访问。
在配置文件中,我们只设置了
0.0.0.0
或*
的 IP 地址,在局域网环境运行能正常访问。但对于远程访问,归根结底,我们还需要知道树莓派的 IP 才能访问到服务端的 Jupyter,故我们是这样解决访问问题的 $^{[7]}$。1
2
3
4# nohup: 一直执行命令,即使关闭了 SSH。
# --ip: 指定在 192.168.10.200 ( 树莓派的IP ) 上监听活动。
# &: 在后台运行这条命令。
nohup jupyter notebook --ip 192.168.10.200 &最后,我们需要确保该端口是否在安全策略下已经开启,详细可参考 MySQL 数据库的 防火墙与访问规则 章节内容。
开启自启服务
搭建 Jupyter 服务器,Jupyter 挂靠后台服务,且开通断电自动重启功能,参考了文档 [8]。
在
/etc/systemd/system
下创建jupyter.service
输入如下内容:1
sudo vim /etc/sytemd/system/jupyter.service
jupyter.service
内容填写如下:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25[Unit]
Description=Jupyter Notebook
After=network.target
[Service]
Type=simple
# 这里在 /run 目录下没有 jupyter.pid
# 这个是进程产生之后出现的,虽然在启动前没有,但是可以使用
PIDFile=/run/jupyter.pid
# ExecStart 是执行文件 jupyter-notebook
# config 是配置文件 jupyter_notebook_config.py
# ip 是树莓派的地址
ExecStart=/usr/local/bin/jupyter-notebook --config=/home/pi/.jupyter/jupyter_notebook_config.py --ip=192.168.10.200
User=pi
# 查看用户组 groups pi,发现属于 pi 组
Group=pi
# 自己设置的工作目录
# 需同时在 jupyter_notebook_config.py 中设置
# c.NotebookApp.notebook_dir = '/home/pi/ipynb/'
WorkingDirectory=/home/pi/ipynb/
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target使服务自启动:
systemctl enable jupyter
- 启动服务:
service jupyter start
加载虚拟环境
首先,我们为 Jupyter Notebook 创建隔绝的虚拟环境,从而便捷、更针对地管理软件包。
比如,某个 Python 程序需要 Python 2.7 特定环境运行,而我们编译的环境是 Python 3.x ,即为了运行该程序需要把原来的 Python 3.x 给替换成 Python 2.7。同理,对于程序的依赖包,即使是同一个软件包也存在不同版本的要求。那么问题就出现在这,在同一台电脑上,为让更多程序兼容运行,这正是虚拟环境的作用之一。
再者,引入 Conda 管理器 的概念,简单来说 Conda 是一款包管理系统。conda 与 pip 类似,它会根据你的键入需求,且自行交代清楚相互依赖的包,并实现自动化地下载、安装它们。
基于以上两点的理解,我们正式进入正题,开始配置一个虚拟环境,并让 Jupyter Notebook 使用起来:
1
2
3
4
5
6
7
8
9
10
11
12
13
14# 1. 参考 Conda 管理器的 BerryConda 小节,完成 BerryConda 的安装
# 2. 建立一个虚拟环境运作 Conda 以方便管理各种包
conda create -n your_venv_name python=3.6
# 3. 激活环境
source activate your_venv_name
# 4. 安装 Jupyter 包:上述内容中,Jupyter 是安装在原生环境下的
# 考虑到兼容性的情况 (例如第5点的情况),在该虚拟环境中重新安装一个 Jupyter
conda install jupyter
# 给该环境下载其他软件包也是类似操作
# conda install scipy numpy scikit-learn...
# 5. 指定版本安装 tornado,不然 Jupyter 会报错
conda install tornado=4.5
# 6. 安装 nb_conda 包,让 Jupyter 支持使用虚拟环境
conda install nb_conda若使用虚拟环境中的 Jupyter ( 自启服务的 ExecStart 设置同理 ),此时启动 Jupyter 的程序应该改为:
1
2# /home/pi/ 为当前登录用户的工作目录
/home/pi/berryconda3/envs/your_venv_name/bin/jupyter-notebook
打造科学环境
Tensorflow
值得庆贺的是,Tensorflow 1.9 官方版本开始支持树莓派 RaspBerry Pi 了,没有繁琐的步骤即可体验 Tensorflow!具体的安装方法大概参考 Tensorflow 官方说明文档。
但在实操过程中还是碰到了不可预计的情况:
1
2
3
4
5
6
7
8
9
10
11
12# 1. 安装 libatlas-base-dev (Required for Numpy)
sudo apt install libatlas-base-dev
# 2. 同样,在虚拟环境内安装 tensorflow,虚拟环境的 Python 版本为 3.6
source activate your_venv_name
# 3. 安装 h5py、hdf5,不然 tf 安装过程中会报错 ( 缺少 hdf5.h 文件 ):
# /tmp/pip-install-ve4RnJ/h5py/h5py/api_compat.h:27:18:
# fatal error: hdf5.h: No such file or directory
# 4. 通过 conda 安装 h5py ( 好像 pip (Python3.x) 安装 h5py 会遇到缺少文件的问题?)
conda install h5py
# 5. 正式安装 tensorflow
# pip --version 查看是否是虚拟环境的 pip,不然未能安装在当前环境
pip install --upgrade --user tensorflow
若中途不出错、不提示错误,等待安装成功即可。然后输入代码测试验证:
1
2
3
4python # 命令进入 ipython / python 模式
>>> import tensorflow as tf
>>> tf.enable_eager_execution()
>>> print( tf.reduce_sum(tf.random_normal([1000, 1000])) )当然,还可能遇到 tensorflow 部分模块的 Python 版本跟编译环境的 Python 版本对不上,则可通过针对 ( 编译环境的 ) Python 版本的 pip 升级 tensorflow 解决此问题:
1
2
3
4
5# 异常的情况大概如下:
# /usr/lib/python3.6/importlib/_bootstrap.py:219:
# RuntimeWarning: compiletime version 3.5 of module 'tensorflow.python.framework.fast_tensor_util'
# does not match runtime version 3.6
python3.6 -m pip install --upgrade --user tensorflow
Keras
安装过程演示:
1
2
3
4
5# 1. 同样,在虚拟环境内安装 keras,虚拟环境的 Python 版本为 3.6
source activate your_venv_name
# 2. 正式安装 keras
# pip --version 查看是否是虚拟环境的 pip,不然未能安装在当前环境
pip install --upgrade --user keras
当然,还可能遇到版本对不上的异常,参考 上述解决方案:
1
python3.6 -m pip install --upgrade --user keras
常见问题整理
当新建或修改 ipynb 文档时,出现
Permission denied: Untitled.ipynb
权限异常,检查工作目录是否具有操作权限、当前用户是否有操作权限。1
2
3
4
5# 确保 Jupyter 工作目录属于当前登录用户 pi
sudo chown -R pi:pi /home/pi/ipynb
# 确保 Jupyter 工作目录有可读、可写和可执行的权限
# 更新后的权限情况:drwxrwxr--
chmod ug=rwx /home/pi/ipynb
Conda 管理器
引言
无论是使用 Jupyter Notebook,亦或是原生 Python 环境做 数据科学
相关工作,难免需要 安装各种科学计算包
,而且还涉及众多依赖包的安装。那么如何管理包变成了一门 “手艺活” 了,此时推荐你使用 Conda 包管理系统,繁琐的包安装工作交由 Conda 处理,你只管专心地开展数据科学工作。
参考 树莓派 Raspbian 系统可安装 Anaconda 吗?,得知树莓派安装 Conda 共有两种选择:
- MiniConda:年久未更,目前 Python 只停留在 Python 3.4 版本。
- BerryConda:是一款为树莓派定制基于 Conda Python 发行版的开源软件。Berryconda 提供了 Python 2.7 的 Berryconda 2 和 Python 3.6 的 Berryconda 3,同时还支持树莓派 0、1、2、3 各个系列,我们可根据树莓派的版本选择适合的软件版本安装即可。
Miniconda
Miniconda 与 Anaconda 同为发行版本的 Conda 包管理系统,Miniconda 则是最小的 Conda 安装环境。以下直接安装操作演示,安装过程参考了 [9]、[10]。
安装 MiniConda
首先,确保安装了
wget
和bzip2
:1
2
3
4# 查看是否有反馈,有则表示已安装
wget --help
bzip2 --help
sudo apt-get install -y wget bzip2
下载安装脚本:
1
2
3# wget 不添加参数,默认是保存到当前路径
# wget -O /path/name 指定路径及文件名
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-armv7l.sh
运行安装脚本:
安装过程中不需要使用 sudo,程序默认会安装到 /home/pi/miniconda3 中。当然,也是为了确保 miniconda3 工作目录属于当前登录用户 pi。
1
2
3
4
5
6
7
8
9
10
11
12bash Miniconda3-latest-Linux-armv7l.sh
# 安装过程中,需要阅读一份声明,后面需要输入两次 Yes 确认
# 第一个 Yes 是是否同意声明,若回车跳过则是默认输入了 No
# 第二个 Yes 是添加到环境变量,否则需要自己手动添加到环境变量
# --------- 若选择了 No 则需进行以下步骤的操作 --------- #
# 1. 编辑 /bashrc 文件
vim /home/pi/.bashrc
# 2. 添加以下内容 (根据自己的安装路径修改):
# export PATH="/home/pi/miniconda3/bin:$PATH"
# 3. 添加完成后记得让其生效 ( 启动时才执行原则 )
# export 生成的环境变量是临时的,关闭终端即结束 ( 可改永久性环境变量 )
source /home/pi/.bashrc
使用 MiniConda
检查 conda 是否安装成功,返回版本信息:
1
2
3
4# 检查 conda 是否安装成功,返回版本信息
conda --version
# 显示当前已经安装好的包
conda list创建虚拟环境
,以避免 “污染” 环境,便于管理各种 Python 包:1
2
3
4
5
6# 建立一个虚拟环境运作 Conda 以方便管理各种包
conda create -n your_venv_name python=3.4
# 删除一个虚拟环境:
# conda env remove -n your_venv_name
# 激活环境 <---> 关闭环境:source deactivate
source activate your_venv_name
更改国内源,优化安装包下载速度:
1
2
3
4
5
6# 添加国内下载源 ( 例如: 清华源 )
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
# 替换源后记得更新 Conda 以促使配置生效
conda update conda
使用 Conda 安装包:
1
2
3
4
5
6
7
8
9
10# 事先查找指定软件是否存在
conda search numpy
# 安装指定软件
conda install numpy
# 安装特定版本的软件,Conda 会先卸载已安装版本,然后重新安装指定版本
conda install 软件名=版本号
# 更新指定软件
conda update numpy
# 卸载指定软件
conda remove numpy
卸载 MiniConda
卸载 MiniConda 的方法:
1
2
3
4
5
6# 1. 在 /home/pi/.bashrc 移除环境变量 ( 注释掉 )
# export PATH="/home/pi/miniconda3/bin:$PATH"
# 2. 删除 miniconda 整个文件
rm -rf miniconda3/
# 3. 重新激活 .bashrc
source /home/pi/.bashrc
BerryConda
BerryConda 是一款为树莓派定制基于 conda python 发行版的开源软件。安装过程参考了 [11]。
安装 BerryConda
参考 BerryConda 文档,根据自己的机器版本 ( 树莓派 3B+ / Armv7l 架构 ),并确定 Python 版本号 ( Python 3.x ),为此选择了 Berryconda 3 版本安装,安装方法与 Miniconda 类似。
下载安装脚本:
安装过程中不需要使用 sudo,程序默认会安装到 /home/pi/berryconda3 中。当然,也是为了确保 berryconda3 工作目录属于当前登录用户 pi。
1
wget https://github.com/jjhelmus/berryconda/releases/download/v2.0.0/Berryconda3-2.0.0-Linux-armv7l.sh
执行安装脚本:
1
2
3
4
5
6
7
8
9
10
11
12bash Berryconda3-2.0.0-Linux-armv7l.sh
# 安装过程中,需要阅读一份声明,后面需要输入两次 Yes 确认
# 第一个 Yes 是是否同意声明,若回车跳过则是默认输入了 No
# 第二个 Yes 是添加到环境变量,否则需要自己手动添加到环境变量
# --------- 若选择了 No 则需进行以下步骤的操作 --------- #
# 1. 编辑 /bashrc 文件
vim /home/pi/.bashrc
# 2. 添加以下内容 (根据自己的安装路径修改):
# export PATH="/home/pi/miniconda3/bin:$PATH"
# 3. 添加完成后记得让其生效
# export 生成的环境变量是临时的,关闭终端即结束 ( 可改永久性环境变量 )
source /home/pi/.bashrc
使用 BerryConda
至此,BerryConda 已经安装完成,查看版本信息检验是否安装成功,剩余的 Conda 操作参考 使用 MiniConda 章节即可。
1
2
3
4# 检查 conda 是否安装成功,返回版本信息
conda --version
# 显示当前已经安装好的包
conda list
解决方案
参考资料
- [1] 百度百科. 存储引擎. baike.baidu.com
- [2] jaywcjlove. mysql-tutorial. 2017. github.com
- [3] 编程浪子. 树莓派3之安装Mysql服务. 2018. cnblogs.com
- [4] farYang. 树莓派安装mysql并开启远程访问. 2016. csdn.net
- [5] Li, TaterLi. 十步配置TeamViewer远程控制Pi. 2017. 52pi.net
- [6] 萝是carrot夢是Dream. 树莓派安装配置TeamViewer实现外网远程控制. 2018. csdn.net
- [7] 终可见. 树莓派 3B 搭建 Jupyter notebook. 2018. jianshu.com
- [8] 齐志刚. 树莓派 3B Jupyter notebook 设置为后台服务. 2018. csdn.net
- [9] Holy_C. 树莓派 miniconda3+opencv3.3+tensorflow1.7 踩坑总结. 2018. csdn.net
- [10] 卖萌哥. Conda 的安装与使用. 2018. jiansu.com
- [11] Speculatecat. 解决 Raspbian Miniconda 无法安装最新 Python3.6. 2018. jianshu.com