2023.2.26 14:18更新

我又来了,太一波三折了,我好像解决了,就是比较麻烦。
原因minicondalibcrypto.so.1.1文件出错需要手动替换

假设miniconda安装位置是在~/miniconda3,如果不是的话后面的路径需要做相应修改

/usr/lib/aarch64-linux-gnu/libcrypto.so.1.1替换~/miniconda3/lib/libcrypto.so.1.1解决

请添加图片描述

解释一下其他情况怎么使用这个方法
  1. 对于树莓派4B64位系统第一个文件位置应该跟我一样。但是如果是其他系统可能会稍有不同比如github issue上有人是在/usr/lib/libcrypto.so.1.1,有人是/usr/lib64/libcrypto.so.1.1,所以根据自己系统可能需要找一下。

  2. 麻烦的点在第二个位置。都知道conda是有一个默认环境base的,所以上述替换文件对应的是base环境文件,即替换之后,base环境可以正常使用pip了,但是之前创建的其他虚拟环境还是illegal instruction需要将其他虚拟环境里的文件也手动替换文件位置~/miniconda3/envs/test/lib/libcrypto.so.1.1。其中test替换为你虚拟环境名字
    请添加图片描述

  3. 就是说,以后每次新建一个conda虚拟环境,都要手动替换一次。其他更方便的方法暂时没有找到找到了再更新吧。

2023.2.26更新

用了下面的解决方法后,又发现一个问题,只能在condabase环境正常使用create新的环境后依然,不可以pip提示illegal instruction。我去github上找了下,发现很多人有这个问题然后trace了一下pip命令,发现fail在打开一个文件openat(AT_FDCWD, "/home/liwenwu/miniconda3/envs/RPI_exps/lib/python3.7/lib-dynload/../../libcrypto.so.1.1", O_RDONLY|O_CLOEXEC) = 3

github issue有一个老哥/usr/lib/libcrypto.so.1.1文件替换~/pi/miniconda3/lib/libcrypto.so.1.1之后解决了,是conda自己的文件corrupt了。

但是我的树莓派,第二个文件有,第一个文件没有,我不知所措了。总之,minicondaaarch64上有问题,别用了,吐了。

——以下为原文——

错误分析

全部是本人踩的坑,以下文章内容全部关于miniconda3。不想看的直接跳到解决方法部分

本人是在树莓派上安装vscode来写代码然后发现,使用miniconda3创建虚拟环境运行程序时会遇到如下问题(包括但不限于):

  1. 不能在虚拟环境里用pip安装packagepip install xxx提示illegal instruction
    我就想有没有可能miniconda3虚拟环境没有自动给我安装pip,于是我想手动安装输入conda install pip,但是提示我已经安装过了。输入conda list果然已经有pip了,就很扯,有为啥不能用。
  2. 然后我发现可以使用sudo pip。但是!pip安装的包,还是不能被import:如果vscode直接run或者terminal输入python xxx.py运行程序提示No module namedxxx’。sudo python xxx.py就可以正常使用

于是显然,问题肯定是出在sudo上,sudo什么呢?超级用户权限,于是我打开了我之前安装miniconda3过程记录文章【树莓派】树莓派安装miniconda 2023版(现在错误更改)发现,我安装miniconda时是用sudo权限安装的;但是我明明用chown -R更改miniconda3文件夹下所有文件的权限当前用户而不是超级用户了,为什么当前用户不能使用conda的某些命令呢。这一部分还是没有搞清楚,总感觉是权限分配没成功,但是管他的,我已经找到完美解决上述的方法了,暂时先不去深究原因了。

解决方法

简单粗暴,重新安装miniconda3,根除问题

  1. 删除miniconda3文件夹
    懒得找conda卸载命令了,直接文件夹找到你当年安装的miniconda3文件,默认是在/root/miniconda3
    sudu su
    cd /root
    rm -r miniconda3
    exit
    

    重新启动一下terminal

  2. 重新安装miniconda3
    这一部分比较多,请见文章【树莓派】树莓派安装miniconda 2023版主要步骤部分,注意一定不要再用sudo安装了。
  3. 题解
    是的,解决了,至少我的树莓派上完全解决了,vscode也能用了,terminal也能用了。

结束

欢迎访问我的个人网站查看原文,转载请注明出处:www.liwenwu.space

原文地址:https://blog.csdn.net/weixin_43710676/article/details/129222042

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_36238.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注