我有一个必须从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
。
答案 0 :(得分:1)
我相信是的, pip 确实考虑了当前运行的 Python 解释器的版本,以选择项目的适当版本(或版本的发行版)安装。因此,由于pip install 'requests>=2.19,requests==2.*'
与System-assign
等效,因此应该在今天( 2020-02-18 )给出:
答案 1 :(得分:0)
据我所知,是的,可以在需求文件中使用version specifiers。
示例:
requests>=2.19.1,<=2.20.0
使用〜=运算符将导致Python 2.7的软件包位于2.19软件包范围内,因为这意味着:安装大于或等于2.19.1版本但仍为2.19版本的软件包。