任何使get-pip.py安装特定pip版本的技巧?

时间:2014-12-23 10:04:35

标签: python pip

PIP最近(昨天)从1.5.6升级到6.0.1。它打破了我的一些东西。 我正在寻找一种方法来使“get-pip.py”脚本安装1.5.6而不是最新版本。

有什么想法吗?

3 个答案:

答案 0 :(得分:8)

这是一个相对陈旧的问题,但我今天发现get-pip.py的最新版本允许您传入pip<6之类的参数,以确保安装的pip版本是&lt; 6:

[Nautilus@Nautilus scripts]$ python get-pip.py 'pip<6'
Collecting pip<6
  Downloading pip-1.5.6-py2.py3-none-any.whl (1.0MB)
    100% |████████████████████████████████| 1.0MB 608kB/s 
Installing collected packages: pip
Successfully installed pip-1.5.6

这似乎适用于您可以传递给自己的任何参数形式,例如: &gt;,&lt;,&lt; =,&gt; =和==

答案 1 :(得分:4)

正如我在评论中尝试解释的那样,get-pip.py意味着成为pip的引导方法。它旨在解决的问题是您需要pip来安装pip

该脚本不允许用户选择您将获得的pip版本,它会自动下载最新版本。

您可以调整脚本并更改

def bootstrap(tmpdir=None):
    # Import pip so we can use it to install pip and maybe setuptools too
    import pip

    # We always want to install pip
    packages = ["pip"]

def bootstrap(tmpdir=None):
    # Import pip so we can use it to install pip and maybe setuptools too
    import pip

    # We always want to install pip
    packages = ["pip==1.5.6"]

现在,脚本应该始终安装pip-1.5.6而不是pypi上的最新版本。

答案 2 :(得分:3)

我不确定你是如何运行你的脚本的,但你应该能够实现以下目标:

python get-pip.py && pip install -I pip==1.5.6

您可能需要在这两个命令之前添加sudo

https://pip.pypa.io/en/latest/reference/pip_install.html#cmdoption-I