setup.py с зависимостью cv2, установленной через conda (conda-forge opencv) - PullRequest
0 голосов
/ 07 ноября 2018

Я пытаюсь собрать код 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)

1 Ответ

0 голосов
/ 18 марта 2019

Вместо использования cv2 в качестве требуемого имени пакета вместо этого используйте opencv-python, поскольку это имя пакета привязок OpenCV, доступного в PyPI. Таким образом, ваш файл 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)
...