在 pip 中指定模块所需的最低 python 版本

Specifying the minimum python version required for a module in pip

有没有办法指定在 pip 中安装模块所需的最低 python 版本?

我正在尝试将包发布到 pypi。

python setup.py sdist upload -r pypi

是我正在使用的命令。但是,在 setup.py 中,无法指定 运行 这个模块需要最低 python 版本(在我的例子中是 python 3.5)。

您可以使用以下方式指定项目所需的 python 版本:

python_requires='>=3.5'

以上代码必须在setup.py中指定,而且只有9.0.0及更高版本的pip才能识别python_requires元数据。

另外在setup.py中指定依赖项:

setup(
install_requires=['dependent functions,classes,etc'],
)

第一件事是记录您的包所需的最低 Python 版本。在 README 和 setup.py:

中包含该信息
setup(
      …
      long_description=open('README.rst', 'rU').read(),
      classifiers=[
          …
          'Programming Language :: Python :: 3',
          'Programming Language :: Python :: 3.5',
          'Programming Language :: Python :: 3.6',
          …
      ],
      …
)

其次,在运行时禁止在 setup.py 顶部附近某处出现错误版本:

import sys
if sys.version_info < (3, 5):
    raise RuntimeError("This package requres Python 3.5+")