Ubuntu下Anaconda已经安装opencv,但是进入环境import cv2失败
问题描述:
ModuleNotFoundError: No module named 'cv2'
- 在Anaconda下,进入python(3.8.8),能够导入所有已经安装的包。但是在虚拟环境中,不管设定的是python版本多少(如3.6),查看python都是对的(3.6),但是进入python却总是显示在python3.8.8,并且不管怎么import任何包都显示没有,install安装又显示已经存在。
问题原因:
- 这是因为python环境路径选择导致的问题。Anaconda在安装的时候,自动刷新了环境,使用了优先级更高的外部路径,所以自动去base下找python。
问题解决:
- 去./bashrc文件下,找到最后一行
export PATH="~/anaconda3/bin:$PATH"
,对其进行注释。注释完之后你就会发现你的虚拟环境恢复正常了。
PS:对Anaconda、pip换源,能够大大节省你的时间。
问题描述:
- 无法加载Cuda动态库11.0
- Could not load dynamic library 'libcudart.so.11.0';
- dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory;
问题原因:
- 你的Cuda库没有装,或者tensorflow需要11.0的动态库,但是你的电脑只有10.0的动态库。
问题解决:
- 直接在创建虚拟环境的时候,在命令条后面加上
tensorflow-gpu
,可以自动安装适配的tensorflow,避免之后出现无法加载动态库的问题。我就是先创了环境,然后pip安装tensorflow,结果最新版需要libcudart.so.11.0,下载又很麻烦。然后就直接创建环境的时候添加tensorflow-gpu,自动为你下载适配环境的tensorflow。
问题描述:
- Ubuntu的python安装软件路径突然从
‘/usr/local/lib/python3.8/dist-packages’
,变成了‘/home/xxx/.local/lib/python3.8/site-packages’
下了 - Defaulting to user installation because normal site-packages is not writeable;
问题原因:
- 应该是因为今天下午用了xshell去远程连接ubutnu,因为进入./local/lib里面查看,多了两个文件夹,一个python2.7,一个python3.8,都是今天下午创建的文件夹,其中3.8还存放了下午下载的一个软件。
问题解决:
- 使用
python -m site
去查看,发现USER_BASE
和USER_SITE
路径都发生了改变。没办法只能通过pip show numpy
(一个之前下载过的软件),看看之前装在哪了,然后sudo gedit /usr/lib/python3.8/site.py
里面,在代码最上几行手动改过来,改成USER_BASE = ‘/usr/local’
,和USER_SITE = ‘/usr/local/lib/python3.8/dist-packages'
(查询到的)。
Original: https://blog.csdn.net/weixin_43773513/article/details/121665174
Author: 剔牙小河马
Title: (已解决)Ubuntu下Anaconda已经安装opencv但是进入环境import cv2失败