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

omr*_*umi 4 python pip

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

有任何想法吗?

MPl*_*ard 8

这是一个相对古老的问题,但我今天发现最新版本get-pip.py允许您传入一个参数,例如pip<6确保安装的pip版本<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
Run Code Online (Sandbox Code Playgroud)

这似乎适用于您可以传递给自己的任何参数形式,例如>,<,<=,> =和==


cel*_*cel 5

正如我试图在评论中解释的那样,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"]
Run Code Online (Sandbox Code Playgroud)

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"]
Run Code Online (Sandbox Code Playgroud)

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


Reu*_*ani 4

我不确定你如何运行你的脚本,但你应该能够完成类似的事情:

python get-pip.py && pip install -I pip==1.5.6
Run Code Online (Sandbox Code Playgroud)

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

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