允许仅从python3上下文执行requirements.txt

时间:2018-05-10 00:44:45

标签: python python-3.x pip

从requirements.txt安装时,如下所示:

pip install -r requirements.txt

我想仅限于Python3的上下文。如果从Python2上下文尝试,它应该抛出错误。

我如何完成上述工作?

1 个答案:

答案 0 :(得分:1)

将项目转为a proper package,并使用python_requires字符串。如果您想绝对确定(即确保pip的旧版本也无法在Python 2下运行),setup.pysetup调用之前包含类似的内容

from setuptools import setup
import sys

if sys.version_info < (3,):
    raise RuntimeError('unsupported python version')

setup(...

当然,声明setup.py中的所有依赖项,以便依赖于此类的其他包将获得它们,而不必依赖于单独的文件。

如果您仍想使用requirements.txt,请将其添加到以下内容中:

-e .

这将触发您的软件包安装,因此应该调用setup.py,然后引发异常,这将导致安装中止。