安装Anaconda时出现错误。

7
我有一个Ubuntu 16.04 LTS 64位系统,Python版本为2.7.12。我正在安装适用于Python 2.7版本的Anaconda 5.2,但总是出现以下错误:
[/home/nvidia/anaconda2] >>> nvidia/anaconda3 PREFIX=/home/nvidia/nvidia/anaconda3 installing: python-2.7.15-h1571d57_0 ... Anaconda2-5.2.2.0-Linux-x86_64.sh: line 370: /home/nvidia/nvidia/anaconda3/pkgs/python-2.7.15-h1571d57_0/bin/python: cannot execute binary file: Exec format error 我尝试改变目录,但无效。 我也尝试了不同版本的Anaconda,但依然无法解决问题。

(1) 你正在使用64位x86_64,而不是64位ARM或POWER等,对吗? (2) 你能验证下载文件的哈希值,或者重新下载并重试一遍,以确保这不只是因为下载文件被损坏或截断导致的吗? - abarnert
另外,你为什么要尝试运行anaconda3来安装2.7版本的Anaconda?另外,你为什么要尝试运行二进制文件而不是执行shell脚本如帮助文档所示 - abarnert
Anaconda3只是我为anaconda2指定的一个目录。因为有一次出现了错误,第二次我尝试在anaconda2目录中安装时,收到了警告:该目录已存在,无法在此处安装。 - Greg
@abarnert谢谢你,我刚刚意识到这一点。我正在使用Jetson TX 2,也许对于Jetson来说有所不同。 - Greg
还有@abarnert。谢谢你提供的链接。我之前在YouTube上跟着一个人学习,觉得这样会更容易些。但我现在认为这是个错误。 - Greg
我从未使用过Jetson,但根据技术规格,它具有“HMP Dual Denver 2 / 2 MB L2 + Quad ARM® A57 / 2 MB L2”,我很确定这两者都是ARM8处理器。但检查这一点的更简单的方法是运行uname-p-m-i。如果这些不说x86_64,则无法安装x86-64软件。 - abarnert
1个回答

8
您的核心问题在于,您正在尝试安装为x86_64处理器编译的软件,但您拥有的是ARM8处理器。(根据Jetson TX2的技术规格(链接1),它具有HMP双Denver 2/2 MB L2和四核ARM® A57/2 MB L2(链接2)(链接3)。)
它们都是64位并不会有任何区别,但它们仍然是根本不同的处理器架构,具有不同的指令集,因此它们无法运行彼此的代码。
这就是为什么您会收到“无法执行二进制文件:Exec格式错误”的原因。
据我所知,Anaconda只为少数几个Linux平台提供支持的安装程序——x86_64、x86和POWER。
我不知道是否有人提供第三方移植的二进制安装程序。
然而,从源代码构建Anaconda或至少Miniconda应该是可行的。
例如,this site 解释了如何为运行Ubuntu的IBM Z-Series计算机构建它,这可能与您需要做的差别不大。
请记住,这显然只是某个人的项目,不是官方的Anaconda,因此不能保证所有内容都是正确和最新的。
您需要使用您的平台所说的uname,而不是s390x
在Conda和Conda-Forge中可能没有预构建的软件包适用于您的平台,因此安装可能需要更长时间,并且可能会更容易失败。
您可能需要显式禁用Intel MKL以进行源构建。
我认为其他事情可能不会成为问题,但我从未尝试过任何类似的事情。

或者,您可以直接使用Ubuntu的Python,并使用传统的apt-getpip组合来管理Python包。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接