我正在尝试将 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/