setup.py:限制python解释器的允许版本

问题描述

9.0.1版开始, pip将使用一个python_requires字符串,指定安装所需的python版本,例如:

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

有关更多详细信息,请参见此处。另请参见此答案

解决方法

我有一个Python库。不幸的是,我尚未将其更新为可用于Python 3。

在其中setup.py,我添加了

install_requires=['python<3'],

我的目的是不允许在Python 3下安装/使用此软件包,因为我知道它尚无法使用。我认为这不是正确的方法,因为pip然后尝试下载并安装python
2.7.3(已经安装了版本!)。

我应如何在特定范围的Python解释器版本上指定我的库依赖项?我应该添加Programming Language :: Python :: 2 :: Only标签吗?这实际上会阻止在Python 3下安装吗?如果我还想将最低版本限制为Python 2.6怎么办?

我更喜欢在任何地方都可以使用的解决方案,但会选择仅在其中使用pip(并且希望不会造成easy_install窒息)的解决方案。