Jetson 安装 Conda 记录

我手上有 Jetson Nano 和 Jetson AGX Orin,Nano上自带的是Ubuntu 18.04,装有Python2.7 和 Python3.6,python命令默认的是Python2.7;Orin自带的系统是Ubuntu 20.04,装有Python2.7 和 Python3.8,python命令默认的是Python3.8。因为可能要在同一台机器上跑不同版本的Python或者不同版本的包,还是在把系统环境弄乱之前,使用虚拟环境。

选用Conda来构建和管理虚拟环境,但Jetson机器是arm架构,Anaconda和Miniconda都很难找到合适的安装包,有的Miniforge3的版本也不能用,虽然它们都写是linux-aarch64的版本,但安装后还是会报错。我安装后,遇到报错的情况为:成功安装后,进入虚拟环境,pip installconda install一些包,比如numpy,在import numpy后,直接报错:

illegal instruction (core dumped)

然后在这个报错之后,conda的大部分命令,比如conda info,都会全部也报这个错。这样就说明是这个安装包有问题,可能是包的版本也可能是conda的版本。我尝试了网上经常见到的修改OPENBLAS_CORETYPE=ARMV8,但没有效果。

在查询了网上各种资料和尝试下载了不同版本后,截至2022.6.28,可以用的一个版本是:Miniforge3-4.12.0-0-Linux-aarch64.sh。这个版本在Nano和Orin上都可以成功使用。经验是,可能不要使用最新版本的安装包,最新版本不一定能使用;多尝试不同版本的安装包。

现在就可以在安全方便的虚拟环境里大胆下载包和运行程序了,但在安装部分包的时候可能会报类似这样的错:

customize UnixCCompiler
libraries mkl_rt not found in ['...', '...']
libraries openblas not found in ['...', '...']
...

这种报错,说明这个包不支持aarch64的版本,可能有部分低版本的包确实没有这个版本的whl,可以去下载源看看。比如用pip的话,就在pypi.org上看是否对应的版本有aarch64的whl。解决办法:

  • 顺应时代的潮流,用新版本的包,大部分有持续更新的、新版本的包是会有aarch64版本的。
  • 下载源码,自己在机器上安装。

你可能感兴趣的:(Python,NVIDIA,Jetson,conda,python,linux)