python - 通过 conda (conda-forge opencv) 安装 cv2 依赖项的 setup.py

标签 python opencv pip conda setup.py

我正在尝试将 python 代码收集到包 gnn_pylib 中,并将其安装在我的 conda 环境中。我的包需要 opencv,它已通过以下方式安装在我的 conda 环境中:

conda install -c conda-forge opencv

我可以正确运行cv2函数,并且可以成功使用cv2函数调用包中的函数:

import gnn_pylib
gnn_pylib.show()

但是当我尝试安装运行 pip install -e 的软件包时。gnn_pylib 目录我收到以下错误:

Collecting cv2 (from gnn-pylib==0.1)
  Could not find a version that satisfies the requirement cv2 (from gnn-pylib==0.1) (from versions: )
No matching distribution found for cv2 (from gnn-pylib==0.1)

我有什么遗漏的吗?我应该以某种方式通知 pip 但我的 conda opencv 吗?

该包具有以下结构:

gnn_pylib/
    gnn_pylib/
        __init__.py
        show.py
    setup.py

__init__.py如下:

from .show import foo

show.py如下:

import cv2
import numpy as np

def foo():
    cv2.imshow("random", np.random.rand(10,10))
    cv2.waitKey()
    return

setup.py如下:

from setuptools import setup

setup(name='gnn_pylib',
      version='0.1',
      description='General purpose python library',
      url='http://github.com/whatever/gnn_pylib',
      author='whatever',
      author_email='<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="3a4d525b4e5f4c5f487a5d575b535614595557" rel="noreferrer noopener nofollow">[email protected]</a>',
      license='MIT',
      packages=['gnn_pylib'],
      install_requires=[
            'numpy',
            'cv2',
      ],
      zip_safe=False)

最佳答案

不要使用 cv2 作为所需的包名称,而是使用 opencv-python 因为这是 PyPI 提供的 OpenCV 绑定(bind)包的名称。因此,您的 setup.py 文件将如下所示(与上面相同,但 OpenCV 绑定(bind)包要求的条目不同):

from setuptools import setup

setup(name='gnn_pylib',
      version='0.1',
      description='General purpose python library',
      url='http://github.com/whatever/gnn_pylib',
      author='whatever',
      author_email='<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="7c0b141d08190a190e3c1b111d1510521f1311" rel="noreferrer noopener nofollow">[email protected]</a>',
      license='MIT',
      packages=['gnn_pylib'],
      install_requires=[
            'numpy',
            'opencv-python',
      ],
      zip_safe=False)

关于python - 通过 conda (conda-forge opencv) 安装 cv2 依赖项的 setup.py,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53191669/

相关文章:

python - 多处理器环境下的 scikit-learn 网格搜索

Python:如何使用 ffmpeg 读取视频(视频文件或 rtsp)并使用 OpenCV 显示它们?

python - 如何在 Ubuntu 上正确安装多个非软件包 Distribute/virtualenv/pip 生态系统?

Python/Pandas - 使用第一个/最后一个函数聚合数据帧而不进行分组

python - 使用groupby但不创建系列

java - Web 应用程序中的 OpenCV

python - 如何将自己的索引添加到在 virtualenv 中运行的 pip?

python - pip 安装 python3.7 版本的 aws-sam-cli 软件包

python - 在 PyDev 中打印到控制台

c++ - 如何在 OpenCV 中过滤具有邻域主色的图像