在ubuntu16.04上安装了新的python版本3.7.1,导致pip崩溃,无法使用,具体报错信息: ModuleNotFoundError: /usr/local/bin/python3: No module named pip。查看版本pip3 -V报错:ModuleNotFoundError: No module named ‘_ctypes’,问题的解决是重新编译python-3.7.1安装包:
安装包获取和解压:
wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz tar -zxvf Python-3.7.1.tgz
前期准备
sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev sudo apt-get install libssl-dev openssl sudo apt-get install libffi-dev
重复编译操作:
cd Python-3.7.1 ./configure make make test make install
编译成功之后pip3 -V还会报错: ImportError: cannot import name ‘main’。解决办法是:
sudo gedit /usr/bin/pip3
from pip import main if __name__ == '__main__': sys.exit(main())
改掉下面的最后一行:
sys.exit(__main__._main())
然后重新打开终端,就不报错了,可以顺便升级一下pip:
pip3 install --upgrade pip
接下来就可以愉快的使用pip3安装opencv了
sudo apt install libopencv-dev sudo pip install opencv-python #给python2安装opencv sudo pip3 install opencv-python #给python3安装opencv
查看libopencv版本:sudo apt search opencv
这样安装得到的opencv是相对比较完整的(有opencv.pc文件),上一篇文章的方法opencv只有info信息,没办法后续配置YOLO3。
参考原文:https://blog.csdn.net/u014775723/article/details/85224447