我有一个只在Python2上运行的Python package。它的setup.py中有以下分类器:
setup(
# ...
classifiers=[
'Programming Language :: Python',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2 :: Only',
])但是,如果我用Python3创建一个virtualenv,pip会很高兴地安装这个包。
如何防止安装软件包?我的setup.py应该基于sys.version_info抛出一个错误吗?我能停止下载软件包吗?
发布于 2014-10-13 08:54:24
在setup.py中,添加以下内容:
import sys
if sys.version_info[0] != 2:
sys.stderr.write("This package only supports Python 2.\n")
sys.exit(1)发布于 2022-07-13 08:34:29
在较新版本的setuptools和pip中,如果您使用的是setup.py,下面是如何仅指定Python2的要求(特别是Python2.7):
from setuptools import setup
setup(
name="my_package_name",
python_requires='>=2.7,<3.0',
# ...
)还最好包括分类器,如下所示:
setup(
name="my_package_name",
python_requires='>=2.7,<3.0',
classifiers=[
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 2 :: Only",
],
)https://stackoverflow.com/questions/26278348
复制相似问题