如何在 python 包中添加 cv2 作为要求?
Posted
技术标签:
【中文标题】如何在 python 包中添加 cv2 作为要求?【英文标题】:How do I add cv2 as a requirement in a python package? 【发布时间】: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
是的,通常我使用numpy
或cv2
没有问题。但是尝试创建一个使用 cv2
的包会导致问题(请参阅帖子中的编辑)。我考虑过使用非官方端口,但我想确保我将来添加的内容符合 OpenCV 标准(并且我将有明确的新功能文档)。
哦,这就是问题所在。 cv2
不是可以安装的包。如果您将cv2.pyd
文件复制/粘贴到您的项目中,我认为您不需要将其放在install_requires
下,只需确保该文件与您的包一起交付,或者用户可以自己添加该文件。
我担心可能是这种情况。
【参考方案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”
【讨论】:
以上是关于如何在 python 包中添加 cv2 作为要求?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Visual Studio 2017 中将包添加到 python