我的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 :(得分:14)
这只是一个列表,所以在你上面的某个地方你必须有条件地建立一个列表。 通常会做类似跟随的事情。
import sys
if sys.version_info < (2 , 6):
REQUIRES = ['gevent', 'ssl', 'configobj', 'simplejson', 'mechanize'],
else:
REQUIRES = ['gevent', 'configobj', 'simplejson', 'mechanize'],
setup(
# [...]
install_requires=REQUIRES,
# [...]
)