agx 安装ros opencv_Anaconda + Python + OpenCV 环境配置 (II)

—— Anaconda 兼容多版本 Python 环境

Anaconda, conda, Python, OpenCV

经常会出现不同的程序需要不同版本的 Python 环境,比如:很多以前开发的程序需要运行在 Python 2 的环境中,而现在开发的程序越来越多的采用 Python 3。因此,需要管理不同版本的Python。下面介绍利用 Anaconda 来管理不同的 Python 版本。

1. Python 3 的安装

假设已经安装了 Python 2.7 ,在此基础上,安装 Python 3,在 Anaconda Prompt 中输入下列语句之一:
conda create -n python34 python=3.4 anaconda
conda create --name python34 python=3.4

539bbb44c2bbfb0b31754e0013c1ce52.png
conda 安装 Python 3.4
创建包含某些工具包的环境
conda create --name <your_env_name> numpy scipy
创建指定 Python 版本下,包含某些包的环境
conda create --name <your_env_name> python=3.4 numpy scipy

fdca055a97ecd20441c66213199db94d.png
conda 激活和反激活 Python 3.4
也可以通过 Anaconda 的图形界面对 Python 环境进行 安装删除。一般,图形界面为 Python 环境自动安装的工具包较少。

234e1fa12f4a974c977be92ba354ac84.png
conda 激活和反激活 Python 3.4

2. OpenCV 的安装

在安装了 Python 2.7 的基础上,又利用 Anaconda 安装了 Python 3.4。下面介绍如何在后安装的 Python 3 环境中,进一步安装 OpenCV 工具包。 这里计划利用 pip 安装 OpenCV 3.4。
避免 Python 2.7 + OpenCV 3.1 出现的错误:
OpenCV Error: Assertion failed (The data should normally be NULL!) in NumpyAllocator::allocate, file ......modulespythonsrc2cv2.cpp, line 163
Traceback (most recent call last):
  File "E:/Project/test_FLANN/test1.py", line 36, in <module>
    matches = flann.knnMatch(des1, des2, k=2)
cv2.error: ......modulespythonsrc2cv2.cpp:163: error: (-215) The data should normally be NULL! in function NumpyAllocator::allocate
通过网址 https://www.lfd.uci.edu/~gohlke/pythonlibs/查找发现 Python 3.4 没有对应的 OpenCV 3.4 工具包。于是,利用 conda 删除 Python 3.4,再 安装Python 3.6
conda remove <your_env_name> --all
conda remove python34 --all
conda create -n py36 python=3.6 anaconda

99167e579f4e29a73e0d73734e5d65e8.png
conda 安装 Python 3.6 后

a09e08a177961bfda17c758448d72b2c.png
conda 删除 Python 3.4
https://www.lfd.uci.edu/~gohlke/pythonlibs/下载 opencv_python‑3.4.1+contrib‑cp36‑cp36m‑win_amd64.whl
注意:
python‑3.4.1‑cp36‑cp36m‑win_amd64.whl 不含 xfeatures2d,会出现错误 AttributeError: module 'cv2' has no attribute 'xfeatures2d'
conda 的包管理功能是对 pip 的一种补充,如果当前已经激活了 Python 环境,那么就可以在当前环境开始安装第三方包。 这里需要在 Python 3.6 环境中安装 OpenCV 3.4 ,所以要先激活 py36:
conda activate py36 
pip install opencv_python‑3.4.1+contrib‑cp36‑cp36m‑win_amd64.whl
可能还需要更新部分工具包,如: numpy;安装其他的工具包,如: matplotlib
# 更新 numpy
conda update numpy
# 安装 matplotlib 
conda install matplotlib
# 删除 matplotlib
conda remove matplotlib
# 查看已安装的工具包
conda list
非当前活跃环境下的工具包管理
# 列举非当前活跃环境中的所有工具包
conda list -n <your_env_name>
# 为指定环境安装工具包
conda install -n <env_name> <package_name>
更多命令,可查看帮助 conda --help或者 conda -h

主要的参考资料:

[1] https://www. cnblogs.com/linkxu1989/ p/6691881.html
[2] https:// blog.csdn.net/menc15/ar ticle/details/71477949/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值