2023.2.26 14:18更新
我又来了,太一波三折了,我好像解决了,就是比较麻烦。
原因是miniconda的libcrypto.so.1.1文件出错,需要手动替换。
用/usr/lib/aarch64-linux-gnu/libcrypto.so.1.1
替换~/miniconda3/lib/libcrypto.so.1.1
解决。
解释一下其他情况怎么使用这个方法:
-
对于树莓派4B64位系统,第一个文件的位置应该跟我一样。但是如果是其他系统,可能会稍有不同,比如github issue上有人是在
/usr/lib/libcrypto.so.1.1
,有人是/usr/lib64/libcrypto.so.1.1
,所以根据自己的系统可能需要找一下。 -
麻烦的点在第二个位置。都知道conda是有一个默认环境base的,所以上述被替换的文件,对应的是base环境的文件,即替换之后,base环境可以正常使用pip了,但是之前创建的其他虚拟环境还是illegal instruction。需要将其他虚拟环境里的文件也手动替换,文件位置在
~/miniconda3/envs/test/lib/libcrypto.so.1.1
。其中test
替换为你虚拟环境的名字。
2023.2.26更新
用了下面的解决方法后,又发现一个问题,只能在conda的base环境正常使用,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了。
但是我的树莓派,第二个文件有,第一个文件没有,我不知所措了。总之,miniconda在aarch64上有问题,别用了,吐了。
——以下为原文——
错误分析
全部是本人踩的坑,以下文章内容全部关于miniconda3。不想看的直接跳到解决方法部分。
本人是在树莓派上安装了vscode来写代码,然后发现,使用miniconda3创建的虚拟环境运行程序时会遇到如下问题(包括但不限于):
- 不能在虚拟环境里用pip安装package。
pip install xxx
,提示illegal instruction。
我就想有没有可能miniconda3虚拟环境没有自动给我安装pip,于是我想手动安装,输入了conda install pip
,但是提示我已经安装过了。输入conda list
果然已经有pip了,就很扯,有为啥不能用。 - 然后我发现可以使用
sudo pip
。但是!pip安装的包,还是不能被import:如果vscode直接run或者terminal输入python xxx.py
运行程序会提示No module named ‘xxx’。sudo python xxx.py
就可以正常使用。
于是显然,问题肯定是出在sudo
上,sudo是什么呢?超级用户权限,于是我打开了我之前安装miniconda3过程记录的文章【树莓派】树莓派安装miniconda 2023版(现在错误已更改)发现,我安装miniconda时是用sudo权限安装的;但是我明明用chown -R
更改了miniconda3文件夹下所有文件的权限到当前用户而不是超级用户了,为什么当前用户不能使用conda的某些命令呢。这一部分我还是没有搞清楚,总感觉是权限分配没成功,但是管他的,我已经找到完美解决上述的方法了,暂时先不去深究原因了。
解决方法
- 删除miniconda3文件夹
懒得找conda卸载命令了,直接删文件夹。找到你当年安装的miniconda3文件,默认是在/root/miniconda3
。sudu su cd /root rm -r miniconda3 exit
- 重新安装miniconda3
这一部分比较多,请见文章【树莓派】树莓派安装miniconda 2023版的主要步骤部分,注意一定不要再用sudo安装了。 - 问题解决
是的,解决了,至少我的树莓派上完全解决了,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进行投诉反馈,一经查实,立即删除!