【问题标题】:Provide a complex condition in install_requires ( Python setuptools's setup.py )在 install_requires 中提供一个复杂的条件(Python setuptools 的 setup.py )
【发布时间】:2012-12-26 05:04:11
【问题描述】:

有人知道我如何在 setup.py 的“install_requires”部分提供复杂条件吗?

类似这样的:

install_requires = ['project1 >= 0.0.1 or project2 >=0.0.2', 'project3==0.9.0']

【问题讨论】:

    标签: python-2.7 setuptools


    【解决方案1】:

    你可以这样写:

    def choose_proper_prject( requires ):
        import pkg_resources
        for req in requires:
           try:
               pkg_resources.require( req )
               return [ req ]
           except pkg_resources.DistributionNotFound :
               pass
           pass
        print “There are no proper project installation available”
        print “To use this app one of the following project versions have to be installed - %s” % requires
        import os; os._exit( os.EX_OK )
        pass
    
    
    setup( ....
           install_requires = choose_proper_prject( [ 'project1 >= 0.0.1', 'project2>=0.0.2' ]) + [ 'project3==0.9.0' ]
           ....
          ) 
    

    【讨论】:

    • +1 看起来很棒,它真的适合你吗? (你也可以接受你的答案)。
    猜你喜欢
    • 2013-01-02
    • 2020-10-24
    • 1970-01-01
    • 1970-01-01
    • 2016-05-06
    • 1970-01-01
    • 2016-10-08
    • 1970-01-01
    相关资源
    最近更新 更多