我正在尝试将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='whatever@gmail.com',
license='MIT',
packages=['gnn_pylib'],
install_requires=[
'numpy',
'cv2',
],
zip_safe=False)
答案 0 :(得分:1)
不要使用cv2
作为必需的软件包名称,而是使用opencv-python
,因为这是PyPI提供的OpenCV绑定软件包的名称。因此,您的setup.py
文件将看起来像这样(与上述相同,但OpenCV绑定程序包要求有不同的条目):
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='whatever@gmail.com',
license='MIT',
packages=['gnn_pylib'],
install_requires=[
'numpy',
'opencv-python',
],
zip_safe=False)
答案 1 :(得分:0)
@James Adams
回答cv2
的特定情况,用更兼容的opencv-python
代替。
但是,如果您仍然想从conda
安装依赖项,请考虑制作一个conda软件包。
看到带有答案的类似问题:
setup.py with dependecies installed by conda (not pip)
Use 'conda install' instead of 'pip install' for setup.py packages
我无法找到详细的分步说明和示例答案。但希望能有所帮助。