代码之家  ›  专栏  ›  技术社区  ›  wvxvw

设置。py如何指定依赖于可选依赖项?

  •  0
  • wvxvw  · 技术社区  · 6 年前

    具体来说,我想使用 pywebview ,它必须安装在 pywebview[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 .

    1 回复  |  直到 6 年前
        1
  •  0
  •   Laurent LAPORTE    6 年前

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

    #!/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'
            ],
    )