首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在同一个python3脚本中导入rospy和cv2?

如何在同一个python3脚本中导入rospy和cv2?
EN

Stack Overflow用户
提问于 2020-06-03 22:07:34
回答 1查看 296关注 0票数 0

问题

无法在python3环境中导入cv2,如:

代码语言:javascript
复制
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: /opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so: undefined symbol: PyCObject_Type

解决方案

第一种方法是使用.bashrc,如下所示:

代码语言:javascript
复制
source /opt/ros/kinetic/setup.bash
source ~/catkin_ws/devel/setup.bash
export PATH="$PATH:/path/anaconda2/bin"
export PYTHONPATH=$PYTHONPATH:/opt/ros/kinetic/lib/python2.7/dist-packages/:
export PYTHONPATH="/home/users/anaconda2/envs/env_name/lib/python3.5/site-packages:$PYTHONPATH"

为了测试,

代码语言:javascript
复制
conda activate env_name # the python3 environment name
python -c "import rospy"
python -c "import cv2"

它将工作,没有任何错误输出!

但是当你ssh到机器人控制器时,它就不能工作了,例如:intera.sh sim

EN

回答 1

Stack Overflow用户

发布于 2020-06-04 05:17:39

第二种成功的方法是编辑头文件,如下所示:

代码语言:javascript
复制
import sys
sys.path.remove('/opt/ros/kinetic/lib/python2.7/dist-packages')
import cv2
# make sure to use import rospy in the future
sys.path.append('/opt/ros/kinetic/lib/python2.7/dist-packages') 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62174925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档