python - opencv/cv2/opencv-python 名称不匹配,如何说服 pip 不查找已通过 conda 安装的包?
问题描述
python opencv 绑定包含opencv
在 conda-forge 或opencv-python
pypi 上调用的包中。在 conda-forge 上安装opencv
使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 识别 opencv 的 condas 安装?