opencv导入问题和双重安装

时间:2018-04-26 15:35:09

标签: linux python-3.x opencv

以前ROS安装在我的系统中,需要opencv才能实现,现在我正在使用anaconda,我需要再次使用opencv库。编写python代码import cv2时会抛出错误module not found

  

有没有办法使用那个在anaconda中安装ROS的opencv库

虽然我使用conda再次安装了opencv。

$conda install -c conda-forge opencv 

但是使用上面的命令安装了opencv-3.3。现在我的python代码显示了不同的导入错误,如下所示:

ImportError                               Traceback (most recent call last)
<ipython-input-9-6b49ad4d4ca5> in <module>()
      1 from random import shuffle
      2 import glob
----> 3 import cv2
      4 shuffle_data = True  # shuffle the addresses before saving
      5 hdf5_path = 'dataset.hdf5'  # address to where you want to save the hdf5 file

ImportError: /home/kamal/ros_catkin_ws/install_isolated/lib/python2.7/dist-packages/cv2.so: undefined symbol: PyCObject_Type

如何特别指定要使用的opencv库。我需要改变哪些env变量。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

取消注释.bashrc文件中的行source /home/user/ros_catkin_ws/install_isolated/share/setup.bash不需要帮助。您还需要删除ROS环境添加的额外sys.path。 在python控制台中

import sys
print (sys.path)

您将看到与ROS相关的多条路径 然后通过

删除路径中不需要的部分
sys.path.remove('unwanted_path')

这将解决问题,但现在ROS不起作用。要使其工作,您需要再次附加删除的路径。 如果有人有更好的方法,请回答。