setup.py:限制Python解释器的可容许版本(setup.py: restrict the

2019-07-05 14:53发布

我有一个Python库。 不幸的是我没有更新过与Python 3上班呢。

在setup.py,我加

install_requires=['python<3'],

我的意图是不允许安装/下蟒蛇3中使用这个包,因为我知道它没有(还)工作。 我不认为这是做正确的方式,是因为pip然后尝试下载并安装python 2.7.3(这已经是安装的版本!)。

我应该如何指定的Python解释器版本的特定范围我的库的依赖? 我要补充一个Programming Language :: Python :: 2 :: Only标记? 请问这实际上防止在巨蟒-3安装? 如果我也想限制的最低版本到Python 2.6?

我要选择一个作品无处不在的解决方案,但会满足于一个,只有在工作pip (希望不会引起easy_install的呛)。

Answer 1:

截至版本9.0.1 PIP将履行新python_requires字符串,指定安装,如所需要的Python版本:

setup(
    ...,
    python_requires=">=3.3"
)

请参阅这里了解更多详情。 也看到这个答案的SO。



Answer 2:

一个可能的解决方案是测试的Python版本,因为PIP不能满足 ,除了它目前在(它安装在当前的Python环境)运行的版本的Python版本:

import sys
if not sys.version_info[0] == 2:
    sys.exit("Sorry, Python 3 is not supported (yet)")

setup(...


文章来源: setup.py: restrict the allowable version of the python interpreter