【Python-Anaconda】在anaconda中创建、激活虚拟环境;在anaconda中所创建的虚拟环境中安装OpenCv;如何在jupter notebook中使用所创建的虚拟环境

一、在anaconda中创建虚拟环境

        1、为什么要创建虚拟环境?

        答:为了避免库依赖冲突。所以在安装pytorch、tensflow等时最好创建虚拟环境进行安装。

        2、创建虚拟环境步骤:

        (1)打开anaconda prompt,输入如下代码:

conda create -n opencv python=3.6

        opencv 是我自己给虚拟环境起的名字;

        3.6 是我选的虚拟环境中的python的版本。

        这两个东西,大家可以根据自己的需求自行决定。

        (2)在创建过程中,会有一个 y or n 的选择,大家选择y,然后按回车键即可。回车后,运行结果如下,则环境创建成功。

【Python-Anaconda】在anaconda中创建、激活虚拟环境;在anaconda中所创建的虚拟环境中安装OpenCv;如何在jupter notebook中使用所创建的虚拟环境_第1张图片

        (3)查看现有环境,代码如下:

conda env list

        运行结果如下,从中可以看到创建的opencv已在其中,所以环境创建成功:

【Python-Anaconda】在anaconda中创建、激活虚拟环境;在anaconda中所创建的虚拟环境中安装OpenCv;如何在jupter notebook中使用所创建的虚拟环境_第2张图片

3、激活虚拟环境

        (1)输入以下代码:

conda activate opencv

        运行结果如下,说明激活成功:

【Python-Anaconda】在anaconda中创建、激活虚拟环境;在anaconda中所创建的虚拟环境中安装OpenCv;如何在jupter notebook中使用所创建的虚拟环境_第3张图片

 二、在anaconda中所创建的虚拟环境中安装OpenCv

        安装OpenCv时,必须保证其版本与其所处环境的python的版本一致。我所创建的opencv环境中的python版本是3.6,则其所对应的OpenCv的版本是3.4.1.15。如此选择的原因如下:

        (1)因为opencv中的有些图像提取特征点的算法申请了专利,在3.4.2以后的版本都用不了,而3.4.1.15这个版本中还可以用。

        (2)而3.4.1.15版本的OpenCv需要python3.6才能支持。

1、安装opencv-python

        安装代码如下:

pip install opencv-python==3.4.1.15

        运行结果如下:

【Python-Anaconda】在anaconda中创建、激活虚拟环境;在anaconda中所创建的虚拟环境中安装OpenCv;如何在jupter notebook中使用所创建的虚拟环境_第4张图片

 2、安装opencv-contrib-python

        为什么要安装opencv-contrib-python?

        opencv-contrib-python是opencv-python的增强版,里面有一些比较好使的算法比如shift等具有专利保护,商用需要收费。

        这里需要特别注意:opeccv-python和opencv-contrib-python的版本必须一致。

        安装代码如下:

pip install opencv-contrib-python==3.4.1.15 

        运行结果如下:

【Python-Anaconda】在anaconda中创建、激活虚拟环境;在anaconda中所创建的虚拟环境中安装OpenCv;如何在jupter notebook中使用所创建的虚拟环境_第5张图片

 3、测试opencv是否安装成功

        代码如下:

python     #进入到python环境
import cv2
print(cv2.__version__)    #注意:version两边各是两个下划线

        运行结果如下:

         如运行结果所示,opencv安装成功。

三、如何在Jupyter应用中添加、删除虚拟环境

        接着上面,以opencv为例。

1、Jupyter中添加虚拟环境步骤:

        (1)激活虚拟环境

        激活代码如下:

conda activate opencv

        (2)进入虚拟环境之后,在里面安装ipykernel

        安装代码如下:

pip install --user ipykernel

        运行结果如下:

【Python-Anaconda】在anaconda中创建、激活虚拟环境;在anaconda中所创建的虚拟环境中安装OpenCv;如何在jupter notebook中使用所创建的虚拟环境_第6张图片

【Python-Anaconda】在anaconda中创建、激活虚拟环境;在anaconda中所创建的虚拟环境中安装OpenCv;如何在jupter notebook中使用所创建的虚拟环境_第7张图片

        (3)将虚拟环境加入到Jupyter 

         代码如下:

python -m ipykernel install --user --name opencv --display-name opencv

        注意:在这儿可能会遇到问题——此执行代码时会出现下面情况:

        深层原因:

        prompt-toolkit 的版本过高所致。         

        解决方法:

        降低prompt-toolkit 的版本。

         安装低版本的prompt-toolkit,代码如下:

pip install prompt-toolkit==2.0.10

         运行结果:

【Python-Anaconda】在anaconda中创建、激活虚拟环境;在anaconda中所创建的虚拟环境中安装OpenCv;如何在jupter notebook中使用所创建的虚拟环境_第8张图片

        此时,问题已经解决了。

        则这时执行代码

python -m ipykernel install --user --name opencv --display-name opencv

 的结果为:

        这说明已经成功添加 虚拟环境opencv 到 jupyter notebook 中。

        但这时又出现了问题——在 jupyter notebook 中打开opencv后,出现连接不上内核的情况。

        究其原因可能还是一些东西版本过高所致,对其进行降版本即可。

        于是,我就进行了以下降版本操作:

pip install ipykernel==4.9.0

        这步降低 ipykernel 的版本的操作,没有解决问题。

pip install tornado==4.2

        这步降低 tornado 的版本的操作,也没有解决问题。

pip install pyzmq==19.0.2

        终于,这步降低 pyzmq 的版本的操作,使问题得到了解决——在 jupyter notebook中打开opencv后,显示内核就绪,即opencv环境在 jupter notebook中可以正常运行。

二、在 jupyter 中删除虚拟环境

        (1)查看安装了哪些虚拟环境kernel(在base或虚拟环境下运行都可以)

        查看代码如下:

jupyter kernelspec list

        运行结果:

【Python-Anaconda】在anaconda中创建、激活虚拟环境;在anaconda中所创建的虚拟环境中安装OpenCv;如何在jupter notebook中使用所创建的虚拟环境_第9张图片

         (2)删除指定的kernel

jupyter kernelspec uninstall myenv(自己的虚拟环境的名字)

你可能感兴趣的:(python,python,opencv,jupter)