--> -->

nx边缘盒ARM架构环境配布与报错解决

查看ubuntu版本

cat /etc/issue

查看系统是否为ARM架构

dpkg --print-architecture

换源操作

换源目录
cd /etc
cd apt

打开文件
sudo gedit /etc/apt/sources.list
vi /etc/apt/sources.list

外部安装vim
sudo apt-get install vim
sudo apt-get update

临时阿里源后缀

-i https://mirrors.aliyun.com/pypi/simple

非arm架构 ubuntu18.04 清华源 

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable
# deb-src [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable

arm架构 ubuntu18.04 中科大源(不好用)

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic main universe restricted
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic main universe restricted

arm架构 ubuntu18.04 清华源

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse

arm架构 ubuntu20.04 清华源

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse

armhf ubuntu20.04 阿里源

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe

arm架构 debian linux11 阿里源

deb http://mirrors.aliyun.com/debian/ bullseye main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ bullseye main non-free contrib
deb http://mirrors.aliyun.com/debian-security/ bullseye-security main
deb-src http://mirrors.aliyun.com/debian-security/ bullseye-security main
deb http://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib
deb http://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib

arm架构 debian11 清华源

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free

docker compose国内环境镜像(未采用)
curl -L https://ghproxy.com/https://github.com/docker/compose/releases/download/v2.5.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

 

sudo apt-get update可能会报错,杀死多余的apt进程

ps -e|grep apt
sudo kill -9 [序列号]

更新pip

/usr/local/bin/python3.6 -m pip install --upgrade pip

 

Docker相关

ARM Ubuntu18.04安装docker

sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=arm64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
apt-cache madison docker-ce
sudo apt-get -y install docker-ce=[VERSION]

一些简单的docker命令,如下

docker ps 查看正在运行的容器
docker ps -a 查看所有容器
docker images 查看所有镜像

docker rm 名称的id 删除指定容器
docker rmi 名称:版本号 删除指定镜像(没有在使用的容器)
docker rmi -f 强制删除镜像/容器

docker pull 名称:版本号 获取镜像

docker run -it -v 本机文件夹目录:容器文件夹目录 --name 容器名 镜像名:版本号 绑定文件夹创建容器
docker exec -it id /bin/bash 进入指定编号容器
docker stop id 停止指定编号容器
docker start id 开始指定编号容器
docker restart id 重启容器

docker commit 容器id 新的镜像名称:版本号 将容器封装为镜像

docker export 容器id > ubuntu.tar 导出容器到文件
cat ubuntu.tar | docker import - test(随便起的名字):v1.0(冒号+版本号) 文件再封装成镜像

启动容器,绑定文件夹并一直保持交互

sudo docker run -itd --gpus all -v ~/mydata:/mydata --name yourname --gpus all  c3054c4727cd /bin/bash -c "while true;do echo hell; sleep 20;done"

安装基础镜像

docker pull balenalib/armv7hf-ubuntu-python:3.6-build
docker pull balenalib/armv7hf-ubuntu-python:3.6-latest-build-20211208
docker pull balenalib/armv7hf-ubuntu-python:3.6-latest-build
docker pull kumatea/pytorch:1.10.0-py36
docker pull kumatea/pytorch:1.10.0-py36-full 好用 ,直接安装好pytorch架构
docker pull kumatea/pytorch:py36-full

 

安装pytorch arm架构

pip install torch==1.10.2 torchvision==0.11.3 torchaudio==0.10.2 -f https://torch.kmtea.eu/whl/stable-cn.html

解决pytorch安装不上问题(未采用)

apt-get install libsasl2-dev python3-dev libldap2-dev libssl-dev
pip install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu
sudo apt install libopenblas-dev libblas-dev m4 cmake cython python3-dev python3-yaml python3-setuptools

 

常见问题

安装编译环境 

apt-get install gcc g++ gfortran python-dev libopenblas-dev libblas-dev liblapack-dev cython -y
apt-get install libfreetype6-dev libpng-dev -y
apt-get install pkg-config -y # 注:需要此工具找freetype
apt-get install libfontconfig1-dev -y

安装GCC arm架构

sudo apt-get install gcc-arm-linux-gnueabihf
sudo apt-get install gcc python3-dev

安装scipy

sudo apt-get install gfortran libopenblas-dev liblapack-dev
pip3 apt install scipy

安装h5py arm架构 (未解决问题,待解决)

sudo apt-get install libhdf5-dev
sudo apt install cython3
pip3 install h5py

安装matplotlib
numpy版本号1.19.5会报错
numpy版本号1.19.4部分解决,或1.20.x 如果使用python>3.6

始终无法解决,通过下载相应arm架构下whl文件解决

https://github.com/Iamanorange/RK3399Pro-Wheels/blob/master/matplotlib-3.0.3-cp36-cp36m-linux_aarch64.whl
pip install matplotlib-3.0.3-cp36-cp36m-linux_aarch64.whl

报错 flask-jsonrpc
安装版本0.3.1


function-scheduling-distributed-framework插件版本

function-scheduling-distributed-framework==12.0
SQLAlchemy==1.0.0


anyjson安装报错

报错 error in anyjson setup command: use_2to3 is invalid
安装setuptools 低于58版本就可以了
pip install setuptools==50.3.2
才可以安装anyjson==0.3.3


报错 Illegal instruction (core dumped) 非法指令

尝试解决:
打开/.bashrc文件
export OPENBLAS_CORETYPE=ARMV8
终端运行source ~/.bashrc

最终解决:
下载numpy-1.13.1-cp36-cp36m-linux_aarch64.whl文件安装
但过低的numpy版本可能与opencv版本不契合


安装执行shapely报错
OSError: Could not find library geos_c or load any of its variants ['libgeos_c.so.1', 'libgeos_c.so']解决办法
Ubuntu系统执行:
sudo apt-get install libgeos-dev


安装yaml包
pip install pyyaml
pip install ruamel.yaml


安装pillow包报错
from PIL._imaging import display
ImportError: cannot import name 'display'
解决方式:
注释掉项目代码中的引用,可能问题是版本问题与引用方式


kombu报错
from kombu import Connection, Exchange, Queue, Consumer, Producer
ImportError: cannot import name 'Exchange'
解决方式:
进入python

import kombu
dir(kombu)

查看是有这个方法的

['BrokerConnection', 'Connection', 'Consumer', 'Exchange', 'Message', 'Producer', 'Queue', 'VERSION', '__all__', '__author__', '__contact__', '__doc__', '__docformat
__', '__docformat__', '__file__', '__homepage__', '__name__', '__package__', '__path__', '__path__', '__version__', 'binding', 'connections', 'disable_insecure_seria
lizers', 'enable_insecure_serializers', 'eventloop', 'parse_url', 'producers', 'uuid']

然后

import kombu
kombu.Exchange

报错

File "<stdin>", line 1, in <module>
File "D:\Anaconda3\envs\pytorch\lib\site-packages\kombu\__init__.py", line 81, in __getattr__
module = __import__(object_origins[name], None, None, [name])
File "D:\Anaconda3\envs\pytorch\lib\site-packages\kombu\entity.py", line 9, in <module>
from .serialization import prepare_accept_content
File "D:\Anaconda3\envs\pytorch\lib\site-packages\kombu\serialization.py", line 395, in <module>
register_yaml()
File "D:\Anaconda3\envs\pytorch\lib\site-packages\kombu\serialization.py", line 318, in register_yaml
registry.register('yaml', yaml.safe_dump, yaml.safe_load,
AttributeError: module 'yaml' has no attribute 'safe_dump'

猜测是yaml包的原因
降低yaml版本为5.1.1
解决问题

 

posted @   柠鸢  阅读(224)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示