conda устанавливает openCV 3.4.2 вместе с caffe, но его нельзя удалить одним - PullRequest
0 голосов
/ 06 мая 2019

Новая среда python3, созданная с

conda create -n py3CVCaffe python=3.7

caffe, установленным с

conda install caffe-gpu=1.0=py37hdc87d0a_5

среди множества установленных пакетов, эти два

libopencv-3.4.2            |       hb342d67_1        40.4 MB
py-opencv-3.4.2            |   py37hb342d67_1         1.2 MB

установлены оба пакетаи кажется работоспособным

$ python
Python 3.7.3 (default, Mar 27 2019, 22:11:17) 
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import caffe
>>> import cv2
>>> 

Однако некоторые функции видео отсутствуют, поскольку предоставленное openCV не скомпилировано

cv2.error: OpenCV(3.4.2) /tmp/build/80754af9/opencv-suite_1535558553474/work/modules/highgui/src/window.cpp:632: error: (-2: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 function 'cvShowImage'

Это хорошо известная проблема, как обсуждалось здесь

Поэтому мне нужно установить openCV, скомпилированный с этими библиотеками.Прежде чем сделать это, я должен удалить openCV, который был добавлен с помощью caffe.К сожалению, Конда не хочет - она ​​также хочет удалить кофе!

$conda uninstall py-opencv
Collecting package metadata: done
Solving environment: done

## Package Plan ##

  environment location: /home/stefan/miniconda3/envs/p37cu9CfeG

  removed specs:
    - py-opencv


The following packages will be REMOVED:

  caffe-gpu-1.0-py37hdc87d0a_5
  py-opencv-3.4.2-py37hb342d67_1


Proceed ([y]/n)? 

1 Ответ

1 голос
/ 06 мая 2019

Если вы хотите удалить только py-opencv, а не какие-либо из его обратных зависимостей, используйте флаг --force.От conda remove --help:

- force-remove, --force
Принудительное удаление пакета без удаления зависящих от него пакетов.Использование этого параметра обычно приводит к тому, что ваше окружение будет повреждено и несовместимо.

, которое следует читать как ", делайте это на свой страх и риск ".

...