【问题标题】:How do I add cv2 as a requirement in a python package?如何在 python 包中添加 cv2 作为要求?
【发布时间】:2017-07-29 10:07:56
【问题描述】:

我正在尝试制作自己的包,它使用 OpenCV Python 模块 cv2。但是,当使用 PyCharm 时,它会警告

不满足封装要求。

我怀疑这是因为我使用了推荐的方法将 cv2.pyd 复制/粘贴到我的 python 目录中。请注意,pip install cv2 不起作用。

在引入这个包时,确保满足要求的正确方法是什么?

编辑:

我的 setup.py 文件如下

from setuptools import setup

setup(name='image_processing',
      version='0.1',
      install_requires=['numpy', 'scipy', 'cv2'],
      description='Collection of useful image processing functions',
      url='',
      author='Bill',
      license='MIT',
      packages=['image_processing'],
      zip_safe=False)

这是尝试打包我的代码时出现错误的地方。通常我导入 numpy 或 cv2 没有问题。我使用 pip 安装了 Numpy,并通过上述方法安装了 cv2。如果我只使用 cv2 运行脚本,一切都会正常工作,但正是这种包装欺骗了我。

【问题讨论】:

  • 你能import numpy吗?他们的网站声明numpy 是必需的。另一种选择可能是尝试这个非官方端口:pypi.python.org/pypi/opencv-python
  • 是的,通常我使用numpycv2 没有问题。但是尝试创建一个使用 cv2 的包会导致问题(请参阅帖子中的编辑)。我考虑过使用非官方端口,但我想确保我将来添加的内容符合 OpenCV 标准(并且我将有明确的新功能文档)。
  • 哦,这就是问题所在。 cv2 不是可以安装的包。如果您将cv2.pyd 文件复制/粘贴到您的项目中,我认为您不需要将其放在install_requires 下,只需确保该文件与您的包一起交付,或者用户可以自己添加该文件。
  • 我担心可能是这种情况。

标签: python opencv pycharm python-packaging


【解决方案1】:

您需要在需求中添加opencv-python

包在这里:https://pypi.python.org/pypi/opencv-python

然后,您的requirements.txt 文件是可以的,但有时 PyCharm 会不停地抱怨。如果是这种情况,则在“安装要求”标签旁边有“忽略要求”。后者是你要走的路。

(当前 - 2018.2 PyCharm 版本在要求中指定 opencv-python 时不会抱怨 cv2

【讨论】:

  • 如果必须是官方的opencv怎么办?应该放什么?也许在这种情况下,它被遗漏了,只是在自述文件中指定为一种要求?
  • @CMCDragonkai 你找到解决方案了吗?我相信python无法指定这样的要求:(
  • 不幸的是,如果在要求中指定了 opencv-python-headless,Pycharm (2018.2) 仍然会抱怨 cv2
【解决方案2】:

您必须指定 opencv python 包的版本。 "pip install opencv-python==2.4.9"

here 找到正确的版本。

如果要安装最新的 opencv python 包,请使用 “点安装opencv-python”

【讨论】:

    猜你喜欢
    • 2022-08-19
    • 2021-05-06
    • 1970-01-01
    • 1970-01-01
    • 2021-06-01
    • 2021-11-11
    • 1970-01-01
    • 2011-11-26
    • 1970-01-01
    相关资源
    最近更新 更多