万恶之源:
有一次登录ubuntu系统时,突然跳出一个提醒升级的窗口,当时没想那么多就升级了,结果用python运行许多文件都会有不同的报错。
问题描述
1.查看python版本
python --version
显示python3.10.4 路径在anaconda3.10/lib里
2.强制使用python3.7执行py文件:
python3.7 data_rename.py
报错:文件中 line1: import cv2: 没有cv2
3.安装opencv
pip install opencv-python
报错:opencv版本已经满足 ./anaconda3/lib/python3.10/site-packages (4.5.5.64)要求
原因分析:
首先,目前python版本指向3.10.4,而目前的环境配置都是基于python3.7安装的,因此我们要把默认python改回3.7。
其次,python3.7缺乏opencv包,而系统默认当前已经安装了符合python3.10需求的opencv包。
最后,目前整个python的运行都是基于python3.10的,需要更改环境配置。
解决方案:
1 查找python3.10
which python3.10
我的是在anaconda/lib文件夹里,找到并且删掉
2 找到python3.7的路径
which python3.7
3 编辑.bashrc
vim ~/.bashrc
4 按i键进入插入模式
在一行最后添加:
export PATH="/home/zld/anaconda3/lib/python3.7/site-packages:${PATH}"
export PATH
export PYTHONPATH="/home/zld/anaconda3/lib/python3.7/site-packages:${PYTHONPATH}"
export PYTHONPATH
alias python='/usr/bin/python3.7'
5 按esc 输入:wq 保存并退出
6 更新.bashrc文件
source ~/.bashrc
7 查看成功没
python --version
成功变回3.7
python
>>import cv2
找到了opencv模块
新错误
昨天解决掉单一python文件运行找不到cv2问题后,运行labelImg和yolov5这种基于python3.7的环境配置时,经常报错找不到torch、pip3存在老版本等问题,后来发现虽然删了python3.10,其pip依然更新到了最新的版本。
解决方案
1 删掉anaconda
rm -rf anaconda3
2 注销掉.bashrc里和anaconda3有关的路径
vim ~/.bashrc
#注销掉.bashrc里和anaconda3有关的路径
source ~/.bashrc
3 重新安装anaconda3
参考博文
https://blog.csdn.net/Elio_LosEr/article/details/104480562
4 再根据需要配置自己所需环境
解决结果
不管是labelImg还是YOLOv5运行都没有再报错了