python - 如何将 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',
    ])

但是,如果我用 Python 3 创建一个 virtualenv,pip 会愉快地安装这个包。

如何阻止安装包?我的 setup.py 是否应该根据 sys.version_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)

关于python - 如何将 Python 包标记为仅限 Python 2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26278348/

相关文章:

.net - MSBuild入门套件

python - 从xml文件中检索数据到mysql数据库

python - 与 contains() 的两级深度一对多关系

python 逻辑回归(初学者)

linux - 如何在不访问存储库的情况下更新具有依赖项的 CentOS 软件包

mysql - 在 AWD 服务器上安装 MySQL 出现错误

python - 使用 Python 以编程方式检查环境完整性的最佳实践?

python - 如何为数组验证提供多个选项?

python - Pandas crosstab - 如何为数据集中不存在的值打印行/列?

r - 如何调试在狭窄的情况下R CMD检查失败的情况