删除所有已安装的OpenCV库

时间:2012-02-14 11:38:11

标签: ubuntu opencv uninstall

我正在运行Kubuntu 11.10(带KDE 4.8)

在你读完这一切之前:

我只是想从我的系统中删除所有OpenCV的痕迹,所以我可以重新开始..

整个故事

我很久以前就从https://launchpad.net/~gijzelaar/+archive/opencv2首次安装了python-opencv和libopencv(2.1)。我当时只尝试过python-opencv,它完美运行(我没有尝试使用OpenCV使用C ++代码)

然后我最近尝试从源安装OpenCV 2.3.1,虽然已经安装但是在编译我自己的C ++代码时(使用OpenCV),它给了我关于libgtk没有安装的错误,也打破了我运行正常的python opencv代码较早

所以我安装了libgtk2-dev库并再次编译和安装了OpenCV 2.3.1。

错误仍然存​​在,所以我删除了我运行cmake,make等的未解析的OpenCV目录。我没有进行卸载(我现在意识到这是我的错误)

而是从这里安装了ubuntu opencv 2.3软件包(包含所有依赖项):https://launchpad.net/~gijzelaar/+archive/opencv2.3

现在问题是我编译包含OpenCV的C ++代码时仍然遇到同样的错误,错误仍指向我的(已删除)OpenCV源文件夹:

OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow, file /home/anant/opencv/OpenCV-2.3.1/modules/highgui/src/window.cpp, line 275
terminate called after throwing an instance of 'cv::Exception'
  what():  /home/anant/opencv/OpenCV-2.3.1/modules/highgui/src/window.cpp:275: error: (-2) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function cvNamedWindow

正如您所看到的,错误仍然指向我编译和安装OpenCV的目录

有没有办法彻底删除我编译的OpenCV版本的所有痕迹,只是保留ubuntu包中的文件?正如我之前提到的,我没有“卸载”并且(愚蠢地)删除了install-manifest

修改 我再次运行包管理器,发现并非所有来自ppa的opencv包都已正确安装。所以我再次做了一个sudo apt-get install opencv,现在我收到了这个错误:

Unpacking libopencv2.3 (from .../libopencv2.3_2.3.1-3_amd64.deb) ...
dpkg: error processing /var/cache/apt/archives/libopencv2.3_2.3.1-3_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/libopencv_video.so.2.3.1', which is also in package libopencv-video2.3 2.3.1-4ppa1
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Unpacking opencv (from .../opencv_2.3.1-3_amd64.deb) ...
dpkg: error processing /var/cache/apt/archives/opencv_2.3.1-3_amd64.deb (--unpack):
 trying to overwrite '/usr/bin/opencv_haartraining', which is also in package libopencv-core-dev 2.3.1-4ppa1
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/libopencv2.3_2.3.1-3_amd64.deb
 /var/cache/apt/archives/opencv_2.3.1-3_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

我只是想从我的系统中删除所有OpenCV的痕迹,所以我可以重新开始

9 个答案:

答案 0 :(得分:40)

默认情况下,从源代码构建OpenCV时,会将其输出放在/usr/local/lib/usr/local/bin中。虽然从您的错误消息判断,看起来它将库放在/usr/lib中,而二进制文件放在/usr/bin中,所以您也可以在那里签到。

您还可以使用Linux find命令。因此,要查找所有OpenCV库,您可以执行以下操作(这可能需要一段时间):

$> sudo find / -name "*opencv*" -exec rm -i {} \;

上面的命令会在名称中找到包含opencv的任何文件,并会提示您将其删除。与往常一样,手动删除时要小心!

另一种选择可能是再次手动编译OpenCV( 完全 ,就像之前一样),make install来创建安装清单,然后尝试{{ 1}}看看它是否会自行清理。

希望有所帮助! :)

答案 1 :(得分:6)

您可以执行sudo make uninstall进行全面卸载

答案 2 :(得分:4)

如果您有构建目录,则建议执行:

 $ sudo make uninstall
根据@Navid的回答

从构建目录

但这会在某个地方留下很少的.so *文件

要完全删除所有此类文件,请执行以下操作:

$ sudo rm /usr/local/{bin,lib}/*opencv* 

/usr/local是我们在运行CMAKE_INSTALL_PREFIX时通常设置的cmake。根据您执行cmake

的方式替换它

答案 3 :(得分:2)

要删除没有“交互”的所有文件和文件夹,请使用以下命令:

sudo find / -name "*opencv*" -exec rm -rf {} \;

注意:不建议运行“递归”和“强制”删除。

答案 4 :(得分:2)

我找不到构建目录,所以:

sudo apt-get purge '*opencv*'

并且:

sudo find / -name "*opencv*" -exec rm -rf {} \;

似乎效果不错。

您可以使用以下方法再次检查:

sudo find / -name "*opencv*";

答案 5 :(得分:1)

如果在源代码上使用sudo make install命令安装opencv,请转到build文件夹并使用sudo make uninstall,它应该卸载opencv

答案 6 :(得分:0)

对于特定版本(例如3.2):

sudo find / -name "*opencv*3.2*"   -exec rm -rf {} \;

答案 7 :(得分:0)

sudo rm /home/god/softwares/miniconda3/{bin,lib}/*opencv* 

答案 8 :(得分:0)

系统使用的某些文件和文件夹的名称中包含“opencv”。您绝对不想想要删除它们。因此,我建议反对使用 $ sudo find / -name "*opencv*" -exec rm -rf {} \; 删除 opencv,因为它会递归删除名称中包含“opencv”的所有文件和文件夹。

更好的选择是使用此命令,它会在删除找到的每个文件和文件夹之前提示您:

$ sudo find / -name "*opencv*" -exec rm -i {} \;

如果您不小心删除了系统的任何本机 opencv 文件并破坏了某些内容(或者当时这似乎是一个好主意),这是您的修复方法:

  1. 删除已安装的 opencv 库
$ sudo apt remove libopencv-dev   
$ sudo apt remove libopencv-core3.2
  1. 但是,opencv-data 可能不会被删除。您可以通过以下方式找到剩余的文件:

$ sudo apt list --installed | grep opencv

  1. 之后,使用 ROS Melodic 重新安装系统 opencv 文件:

$ sudo apt install ros-melodic-desktop-full

注意如果您需要在安装 ros melodic 之前设置源列表,您可以使用以下命令(如果第 3 步不适合您,请在第 3 步之前执行它们):

$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

$ sudo apt-get update

$ sudo apt-get install ros-melodic-desktop-full