Несоответствие имен в opencv / cv2 / opencv-python, как убедить pip не искать пакет, уже установленный через conda? - PullRequest
0 голосов
/ 04 июня 2019

Привязки Python OpenCV включены в пакет под названием opencv на conda-forge или как opencv-python на pypi. Установка opencv на conda-forge делает доступным модуль cv2. Однако после установки этого через conda и pip install пакета в зависимости от opencv, pip install не находит существующий пакет. В зависимости от того, как пакет вызывается в setup.py, он либо ищет пакет и не может его найти, либо находит его и устанавливает вместе с версией conda.

$ conda list | grep opencv
opencv                    4.1.0            py37h5517eff_4    conda-forge

Если имя в setup.py равно opencv, оно будет искать (хотя уже есть opencv), но не найдет:

$ pip install .
Processing /home/gholl/checkouts/fogpy
Requirement already satisfied: numpy>=1.16 in /media/nas/x21324/miniconda3/envs/py37d/lib/python3.7/site-packages (from fogpy==1.1.3+dev92.gb109242.temp) (1.16.2)
Requirement already satisfied: scipy>=1.2 in /media/nas/x21324/miniconda3/envs/py37d/lib/python3.7/site-packages (from fogpy==1.1.3+dev92.gb109242.temp) (1.2.1)
Requirement already satisfied: matplotlib>=1.4.2 in /media/nas/x21324/miniconda3/envs/py37d/lib/python3.7/site-packages (from fogpy==1.1.3+dev92.gb109242.temp) (3.0.3)
Requirement already satisfied: pyorbital>=1.5.0 in /media/nas/x21324/miniconda3/envs/py37d/lib/python3.7/site-packages (from fogpy==1.1.3+dev92.gb109242.temp) (1.5.0)
Requirement already satisfied: trollimage>=1.8.0 in /media/nas/x21324/miniconda3/envs/py37d/lib/python3.7/site-packages (from fogpy==1.1.3+dev92.gb109242.temp) (1.8.0)
Requirement already satisfied: satpy>=0.15 in /media/nas/x21324/miniconda3/envs/py37d/lib/python3.7/site-packages (from fogpy==1.1.3+dev92.gb109242.temp) (0.15.1+38.gc7161c08)
Requirement already satisfied: pyresample>=1.11 in /media/nas/x21324/miniconda3/envs/py37d/lib/python3.7/site-packages (from fogpy==1.1.3+dev92.gb109242.temp) (1.11.2)
Collecting opencv>=4.1 (from fogpy==1.1.3+dev92.gb109242.temp)
  Could not find a version that satisfies the requirement opencv>=4.1 (from fogpy==1.1.3+dev92.gb109242.temp) (from versions: )
No matching distribution found for opencv>=4.1 (from fogpy==1.1.3+dev92.gb109242.temp)

Если имя в setup.py равно opencv-python, оно установит второй opencv рядом с первым, а импорт модуля cv2 приведет к неопределенной ошибке символа.

Как мне убедить pip распознать установку condas в opencv?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...