起源

上周不小心删掉了Ubuntu18.04LTS自带的Python3.6,环境大乱,于是决定重装一波双系统。

下载镜像,制作启动盘之类的步骤就不说了,重要的依然是自主分区和引导设置。

这次依然是从机械硬盘里分出了50G装Ubuntu,分区大概如下:

挂载点 大小 类型
swap 8G 逻辑分区,交换空间
/boot 1000M 主分区
/ 20G 主分区
/home 剩下的 逻辑分区

引导选择了sda windows boot manager

安装好之后,一些基本的设置和以前一样。

每次都会遇到双系统的时差问题,参考CSDN上的一篇讲解。在Ubuntu终端执行以下语句即可。

sudo timedatectl set-local-rtc 1

还有在Ubuntu下访问Windows的硬盘,提示“只读文件系统”的问题,参考链接

Python版本问题

然后是Python版本的问题。

Ubuntu18.04LTS自带的是Python3.6,而我想要稍微新一点儿的3.7版本,因为Python支持版本共存,那么直接sudo apt-get install python3.7就行了。

然后是切换默认的python版本,即修改软连接,使python直接指向刚刚安装的3.7版本,参考链接

默认pip指向的问题

最初执行sudo pip install opencv-python报错,找不到命令。按照参考链接处理,依然失败。

于是改用python3 -m pip install --upgrade pip先升级一下系统自带的python3.6的pip,成功。

但是执行python -m pip install --upgrade pip失败,说明python3.7没装pip,正常情况下,应该是随着python的安装而安装的……

参考链接

sudo apt install python3.7  
sudo apt install python3.7-dev
sudo apt install python3.7-venv

按照教程,最后执行了sudo python3.7 get-pip.py,python3.7下的pip才算弄好了。

与此同时,sudo pip命令总算也可以用了。

接下来就是处理pip和pip3的指向。参考链接

opencv的安装

这里有很多方法。因为我在python环境下使用opencv,所以就不选择完整包安装了。在opencv的官方文档中,建议使用apt-get安装OpenCV-Python,但是我摸到Ubuntu软件包的页面(链接),发现opencv的版本为3.2.0,而最新的opencv已经来到了4.1.0(虽然使用还不广泛)。

经过一番搜索,发现了可以使用pip安装Unofficial pre-built OpenCV packages for Python,即PyPI上已经有了python环境的opencv包(链接),并且是最新的4.1.0版本。

最后决定用pip安装,sudo pip install opencv-contrib-python搞定。

得到在python3.7环境下的opencv库,测试,没问题,把封面交了。

python版本很多,opencv版本也很多,短期内应该不用再折腾了。