我的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:但也许有更好的方法可以做到。
if float(sys.version[:3]) <2.6:
这只是一个列表,因此您必须在上面的某个地方有条件地建立一个列表。通常会执行以下操作。
import sys if sys.version_info < (2 , 6): REQUIRES = ['gevent', 'ssl', 'configobj', 'simplejson', 'mechanize'], else: REQUIRES = ['gevent', 'configobj', 'simplejson', 'mechanize'], setup( # [...] install_requires=REQUIRES, # [...] )