前几天一直被miniconda的安装整的头痛不已,安装了四个版本依然没能运行起来,很是苦恼。本想着直接安装python完事,但是仔细一想,还是要用conda管理至少两个环境,这样用起来方便,也是可以一个卡跑paddle框架和mediapipe这个基于tensenflow框架的库,感觉会冲突,加上之前在服务器配置边缘计算的时候MQTT处理的库下载不下来的头痛事情,决定再上网查一查到底怎么回事,怎么解决。

先是配置设备联网,因为把设备拿到了办公室这边,得换个WiFi重新联网,还是先找个网线给它接上去,然后连上以后搜索WiFi,再用指令

sudo wifi_connect "SSID" "PASSWD"

执行连接,结果这时候突然发现连接断开了,仔细一想,会不会是网卡只能有线无线连接一个,于是乎登上路由器管理界面,果然找到一个Ubuntu的用户,先拔掉网线,在用=尝试连接,果然可以啦。这样配置感觉有点麻烦,感觉可以设置一个配置文件,优先连接两个WiFi,连不上再说网线,下次可以试一试

这么一查还真查到一篇博客,它说aarch64有两个安装conda系列的方法,一个是安装miniconda3,这个已经被证明无法正常使用了。于是决定试一试它提到的第二种方法,也就是第二种archiconda3(https://github.com/Archiconda/build-tools/releases/download/0.2.2/Archiconda3-0.2.2-Linux-aarch64.sh),而且这个也符合我们的硬件系统。

安装的流程是,首先

wget https://github.com/Archiconda/build-tools/releases/download/0.2.2/Archiconda3-0.2.2-Linux-aarch64.sh

这里推荐不要直接从GitHub下载,速度慢到离谱,甚至动不动卡死。建议通过一些代理或者镜像,或者也可以先用这些方法下载到本地,然后用mobaxterm传上去就好。

我用的第二种方法,20S就下载完成了,上传以后运行指令

bash Archiconda3-0.2.2-Linux-aarch64.sh

一路yes+Enter,最后改一下路径到/home/sunrise/conda3/下,然后等待安装完成。

见证奇迹的时刻到了!先添加路径,不然会command not find这样的问题,这一步类似Windows系统里系统环境变量的添加,输入指令

export PATH="/home/sunrise/conda/bin:$PATH"

即可正常使用conda来操作了哦,但是这个指令每开一个新窗口似乎都要重新输入以此,有点麻烦,下次看一看怎么自动执行。

如图,输入“conda list”后,成功显示正常内容啦!

接下来开始配置第一个环境,创建一个名字叫paddle的环境,用来后续安装paddle框架。

这里出现了一个报错,信息是

    CondaHTTPError SSLError

去网上查了查,原因是之前设置镜像源的时候,网址有问题(这里我也当时一下子没反应过来,明明之前的conda都删干净了,怎么还有之前配置的东西。后来仔细一想,指令不是给conda的而是给系统的。

当时的指令是

    channels:
    - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64
    - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64
    - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64
    show_channel_urls: true
应该是这里的https涉及到和清华源验证SSL的问题,这里没有验证成功,出现了这样的报错

#### 解决的方法主要有三种

- 在命令行中输入

conda config --set ssl_verify false

修改设置

- 在文件~/.condarc末尾添加一行ssl_verify: false(有则修改即可)

经过这一步,可以正常创建环境啦

但是要注意,建议创建完环境以后回到常用用户,不要因为修改配置文件什么的进入root后就在root创建环境,可能会出现root时创建的环境平时无法访问的问题。

如果遇到这种问题,也有对应的解决方法,就是先进入base环境,再退出来,然后通过直接地址访问环境。

1  首先终端输入如下指令进入环境

source activate


2 然后终端输入如下指令退出base

source deactivate

3 然后再使用指令

conda activate /home/sunrise/conda3/envs/paddle

这样就可以进入环境啦,但是可以看到要输入三个指令,相当麻烦,不如直接退出root建立环境来的方便快捷。

成功配置好conda以后,顿觉神清气爽。

接下来使用conda进行环境的配置,为接下来的工作所使用的python环境进行准备。不过在conda中使用conda install指令下载速度非常慢,不如直接使用pip install进行下载。

首先安装一个pyserial,接下来读取所使用的串口包。

pip install pyserial

这个包似乎是比较容易安装的,因为之前换过源,所以很快就跑下来了。注意这个包在import时所使用的名称是serial,和下载时所使用的名称不一样。直接使用这个名称会造成报错。

接下来为MQTT协议的发送端进行一个配置。之前在服务器上部署了emqx作为中间件broker,在旭日派这个边缘端,只需要通过Paho包进行发出即可。这里同样存在着前面所提到的,包名和使用时名称不一致的问题。实际使用时使用如下指令进行下载。

pip install -i https://pypi.doubanio.com/simple paho-mqtt

这里也使用了豆瓣的镜像来下载 paho-mqtt。

最后在旭日派上进行了paddle的部署和调试验证。paddle作为国产人工智能模型平台,就是部署极为方便,在派上只需要通过数条指令即可下载最新版的CPU版本,而且下载速度极快,体验极佳

首先判断系统是否符合条件

uname -m && cat /etc/*release

确认Python 和 pip 是 64bit,并且处理器架构是 x86_64(或称作 x64、Intel 64、AMD64)架构。下面的第一行输出的是”64bit”,第二行输出的是”x86_64”、”x64”或”AMD64”即可

python3 -c "import platform;print(platform.architecture()[0]);print(platform.machine())"

此时,确认环境无误后,就可以直接使用指令进行下载啦,当然也可以一开始就直接下载cpu版本,具体信息设置为Linux,pip。

python3 -m pip install paddlepaddle==2.4.2 -i https://pypi.tuna.tsinghua.edu.cn/simple

安装完成后可以使用 python指令 进入 python 解释器,输入。

import paddle 
paddle.utils.run_check()

如果出现PaddlePaddle is installed successfully!,说明已成功安装。

在完成后,在边缘端所部署需要的,USB串口读取、MQTT协议输出全部完成初步的环境配置。在这个环境里即可展开下一步的代码测试和USB测试。在配置conda的时候,一定要注意选择正确版本和正确架构的conda;在虚拟环境的建立中,也要格外注意根目录和其他用户之间所属的关系和管理权限,尽量在常用的用户中创建和配置环境,以防在根目录配置完成,在其他用户中无法正常使用的问题,造成使用的不便。