install_requires在setup.py中,取决于安装的Python版本[重复]

发布于 2021-01-29 14:58:05

这个问题已经在这里有了答案

install_requires基于python版本 (2个答案)

3个月前关闭。

我的setup.py看起来像这样:

from distutils.core import setup

setup(
    [...]
    install_requires=['gevent', 'ssl', 'configobj', 'simplejson', 'mechanize'],
    [...]
)

在Python 2.6(或更高版本)下,ssl模块的安装由于以下原因而失败:

ValueError: This extension should not be used with Python 2.6 or later (already built in), and has not been tested with Python 2.3.4 or earlier.

有没有一种标准的方法来定义仅针对特定python版本的依赖关系?我当然可以做到,if float(sys.version[:3]) < 2.6:但也许有更好的方法可以做到。

关注者
0
被浏览
70
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    这只是一个列表,因此您必须在上面的某个地方有条件地建立一个列表。通常会执行以下操作。

    import sys
    
    if sys.version_info < (2 , 6):
        REQUIRES = ['gevent', 'ssl', 'configobj', 'simplejson', 'mechanize'],
    else:
        REQUIRES = ['gevent', 'configobj', 'simplejson', 'mechanize'],
    
    setup(
    # [...]
        install_requires=REQUIRES,
    # [...]
    )
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看