在安装兼容的软件包版本时,pip是否会考虑实际的Python版本?

时间:2020-02-17 10:57:52

标签: python pip

我有一个必须从2.6开始支持多个Python版本的库。例如,我的要求之一是requests。我知道支持Python 2.6的最新版本是2.19.1(最新版本2.20.0支持任何Python> = 2.7)。

所以我的问题是pip是否理解要求的第requests~=2.19行应为Python 2.6安装2.19.1并为任何更高版本的Python安装2.20.0

更新。问题不在于语法,我很好奇pip是否足够聪明,并且在Python 2.6环境中将无法超越0.19.1

2 个答案:

答案 0 :(得分:1)

我相信是的, pip 确实考虑了当前运行的 Python 解释器的版本,以选择项目的适当版本(或版本的发行版)安装。因此,由于pip install 'requests>=2.19,requests==2.*'System-assign等效,因此应该在今天( 2020-02-18 )给出:

    Python 2.6 上的
  • 请求2.19.1 ;和
  • Python 2.7 上的请求2.22.0

答案 1 :(得分:0)

据我所知,是的,可以在需求文件中使用version specifiers

示例:

requests>=2.19.1,<=2.20.0

使用〜=运算符将导致Python 2.7的软件包位于2.19软件包范围内,因为这意味着:安装大于或等于2.19.1版本但仍为2.19版本的软件包。