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

时间:2014-10-09 12:22:49

标签: python package

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

setup(
    # ...
    classifiers=[
        'Programming Language :: Python',
        'Programming Language :: Python :: 2',
        'Programming Language :: Python :: 2 :: Only',
    ])

但是,如果我使用Python 3创建virtualenv,请愉快地安装此软件包。

如何阻止正在安装软件包?我的setup.py应该根据sys.version_info抛出错误吗?即使下载包裹,我可以停止点击吗?

1 个答案:

答案 0 :(得分:8)

在setup.py中,添加:

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