已解决 ImportError:/opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so:undefined symbol:PyCobject Type。

本文涉及的产品
资源编排,不限时长
简介: 已解决 ImportError:/opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so:undefined symbol:PyCobject Type。

操作系统:Ubuntu,版本号为16.04


问题描述
由于ubuntu16.04系统中安装了ROS,导致Anaconda安装opencv-python后使用python导入cv2时出现的错误:ImportError: /opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so: undefined symbol: PyCobject Type;
    原因是因为当ROS安装之后会在环境变量里添加了执行脚本,导致跟Anaconda的执行脚本起了冲突。

    所以当激活Anaconda虚拟环境进入python后,import cv2时就会报错,看下图 ⬇ ⬇ ⬇

image.png
解决问题
本文是参考的是此篇文章 ➡ https://blog.csdn.net/qq_34544129/article/details/81946494
导入opencv时,只需要在导入opencv前加入一下两行代码即可。


improt sys
sys.path.remove('/opt/ros/kinetic/lib/python2.7/dist-packages')
    切记,一定是在 import cv2 之前加入代码。看下图 ⬇ ⬇ ⬇

image.png
这样就解决了,是不是很简单,不过此方法并不能保证所有机器都可以解决,但是绝大部分是没问题的,快去试试吧~

相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
目录
相关文章
|
6天前
|
弹性计算 JavaScript 安全
ROS CDK魔法书:建立你的游戏王国(Python篇)
在虚拟游戏世界中,阿里云ROS CDK让游戏部署变得简单高效。ROS CDK是一个强大的开发框架,通过IaC方式简化云资源管理,帮助游戏开发者轻松创建、配置和部署云资源。本文将指导您使用ROS CDK将2048小游戏快速部署到云端,涵盖环境准备、依赖安装、资源栈创建及部署等步骤,让您体验从本地到云端的无缝迁移。通过简单的代码配置,即可实现游戏的云端部署,享受流畅的游戏体验。
22 2
ROS CDK魔法书:建立你的游戏王国(Python篇)
|
1月前
|
Python
python布尔类型 (Boolean Type)
【8月更文挑战第3天】
35 8
|
1月前
|
Python
【Python】使用LogisticRegression出现错误: invalid type promotion
使用Python中的LogisticRegression时遇到TypeError: invalid type promotion错误的解决方法,指出错误原因是因为输入的DataFrame包含datetime类型的数据,并提供了通过删除datetime字段来解决此问题的步骤。
29 3
|
1月前
|
JSON 数据格式 Python
【python】解决json.dump(字典)时报错Object of type ‘float32‘ is not JSON serializable
在使用json.dump时遇到的“Object of type ‘float32’ is not JSON serializable”错误的方法,通过自定义一个JSON编码器类来处理NumPy类型的数据。
49 1
|
1月前
|
存储 Python 容器
Python中映射类型 (Mapping Type)
【8月更文挑战第2天】
60 2
|
1月前
|
XML 监控 数据格式
ROS 2 - Python、XML 和 YAML 编写 Launch 文件
ROS 2 - Python、XML 和 YAML 编写 Launch 文件
135 0
|
2月前
|
机器人 Shell 开发者
`roslibpy`是一个Python库,它允许非ROS(Robot Operating System)环境(如Web浏览器、移动应用等)与ROS环境进行交互。通过使用`roslibpy`,开发者可以编写Python代码来远程控制ROS节点,发布和订阅话题,以及调用服务。
`roslibpy`是一个Python库,它允许非ROS(Robot Operating System)环境(如Web浏览器、移动应用等)与ROS环境进行交互。通过使用`roslibpy`,开发者可以编写Python代码来远程控制ROS节点,发布和订阅话题,以及调用服务。
|
3月前
|
JavaScript 前端开发 索引
JavaScript有7个数据类型:Number, String, Boolean, Null, Undefined, Symbol(BES6)和BigInt(ES10)组成基本类型
【6月更文挑战第25天】JavaScript有7个数据类型:Number, String, Boolean, Null, Undefined, Symbol(BES6)和BigInt(ES10)组成基本类型,而Object包括Array、Function等是引用类型。Objects可以包含键值对,Array是特殊的Object。Functions也是对象。`null`和`undefined`被视为特殊的原始值。
38 1
|
2月前
|
JSON 前端开发 数据格式
【Python】已解决:TypeError: Object of type JpegImageFile is not JSON serializable
【Python】已解决:TypeError: Object of type JpegImageFile is not JSON serializable
45 0
|
2月前
|
存储 Python
语音输入,python数据类型,type()用来查看数据类型,数据类型转换,int(x)转整数,float(x)转换为浮点数,str(x),将对象转为字符串,标识符,标识符不允许使用关键字,关键字参考
语音输入,python数据类型,type()用来查看数据类型,数据类型转换,int(x)转整数,float(x)转换为浮点数,str(x),将对象转为字符串,标识符,标识符不允许使用关键字,关键字参考