如何将Python包标记为仅限Python 2?

如何将Python包标记为仅限Python 2?,python,package,Python,Package,我有一个只在Python 2上运行的。它的setup.py中包含以下分类器: setup( # ... classifiers=[ 'Programming Language :: Python', 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2 :: Only', ]) 然而,如果我用Python3创建一个virtua

我有一个只在Python 2上运行的。它的setup.py中包含以下分类器:

setup(
    # ...
    classifiers=[
        'Programming Language :: Python',
        'Programming Language :: Python :: 2',
        'Programming Language :: Python :: 2 :: Only',
    ])
然而,如果我用Python3创建一个virtualenv,pip会很高兴地安装这个包

如何防止安装程序包?我的setup.py是否应该基于
sys.version\u info
引发错误?我可以停止pip下载软件包吗?

在setup.py中,添加以下内容:

import sys
if sys.version_info[0] != 2:
    sys.stderr.write("This package only supports Python 2.\n")
    sys.exit(1)

量词规范;pip不关心它们,也不检查它们,更不用说强制执行了。你不是说提供信息吗?