setup.py如何指定我依赖于可选的依赖项?

时间:2018-06-17 21:09:30

标签: python python-3.x install setup.py

具体来说,我想使用pywebviewpywebview[gtk3]必须与pywebview[qt5]setup.py一起安装,依此类推。

使用没有任何这些依赖项的项目是没有意义的(你绝对必须有一个与你的平台匹配的项目),但由于某种原因它们是可选的,因此默认情况下不安装。

我找不到正确的语法来在install_requires=[ ... 'pywebview >= 2.0.3', 'pywebview[qt5];platform_system=="Linux"', 'pywebview[winforms];platform_system=="Windows"', 'pywebview[cocoa];platform_system=="Darwin"', 'vext >= 0.7.0', 'vext.gi >= 0.7.0', ] 中指定这些依赖项。

这是我尝试过的:

platform_system

但我无法核实这是否有效。关于 img = cv2.imread('image.jpg',cv2.IMREAD_UNCHANGED) data = np.reshape(img, (-1,3)) print(data.shape) data = np.float32(data) criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 10, 1.0) flags = cv2.KMEANS_RANDOM_CENTERS compactness,labels,centers = cv2.kmeans(data,1,None,criteria,10,flags) print('Dominant color is: bgr({})'.format(centers[0].astype(np.int32))) 的可能值的文档是零。

1 个答案:

答案 0 :(得分:0)

您可以使用特定于平台的依赖项:

#!/usr/bin/env python
from setuptools import setup

setup(
    name='spam',
    version='0.0.1',
    extras_require={
        ':sys_platform == "win32"': [
            'qt5'
        ],
        ':"linux" in sys_platform': [
            'gtk3'
        ]
    },
    install_requires=[
        'pywebview'
        ],
)