我可以更新pip管理的包,但如何更新pip本身?根据pip--version,我目前在virtualenv中安装了pip1.1,我想更新到最新版本。

这是什么命令?我需要使用distribute吗?或者是否有本机pip或virtualenv命令?我已经尝试过pip更新和pip更新,但没有成功。


当前回答

打开具有管理员权限的命令提示符,然后重复以下命令:

python -m pip install --upgrade pip

其他回答

我在Debian Jessie的指导下尝试了上述所有解决方案。它们不起作用,因为它只需要debian包管理器编译的最新版本1.5.6,相当于6.0.x版。一些使用pip作为先决条件的包将无法正常工作,例如spaCy(需要选项--no cache dir才能正常工作)。

因此,解决这些问题的最佳方法是使用wget、从网站或使用curl运行下载的get-pip.py,如下所示:

 wget https://bootstrap.pypa.io/get-pip.py -O ./get-pip.py
 python ./get-pip.py
 python3 ./get-pip.py

这将安装当前版本,在编写此解决方案时,该版本为9.0.1,远远超出Debian提供的版本。

 $ pip --version
 pip 9.0.1 from /home/myhomedir/myvirtualenvdir/lib/python2.7/dist-packages (python 2.7)
 $ pip3 --version
 pip 9.0.1 from /home/myhomedir/myvirtualenvdir/lib/python3.4/site-packages (python 3.4)

使用“pip install--upgrade pip”升级pip并不总是有效,因为存在可怕的证书问题:确认ssl证书时出现问题:[ssl:TLSV1_ALERT_PROTOCOL_VERSION]TLSV1警报协议版本

我喜欢对虚拟envs使用单行命令:

curl https://bootstrap.pypa.io/get-pip.py | python -

或者,如果你想安装它,你需要

curl https://bootstrap.pypa.io/get-pip.py | sudo python -

如果您想在自动化脚本中运行时使输出静音,可以给curl一个-s标志。

更安全的方法是通过python模块运行pip:

python -m pip install -U pip

在windows上,试图替换自己的二进制文件似乎有问题,这种方法可以绕过这个限制。

对于linux

python3 -m pip install --upgrade pip

对于窗口:

在Windows搜索框中键入Command Prompt在命令提示符中,键入cd\按Enter键,您将看到驱动器名C:\>找到Python应用程序路径,即最初安装Python的文件夹下面是Python应用程序路径的示例:C: \Users\Ron\AppData\Local\Programs\Python\Python39检索Python应用程序路径后,在命令提示符中键入以下命令:cd后跟Python应用程序路径例如:C: \>cd C:\Users\Ron\AppData\Local\Programs\Python\Python39按Enter键键入python-m pip install--upgrade pip并按Enter键

对于窗口,

转到命令提示符并使用此命令python-m pip安装-升级pip不要忘记重新启动编辑器,以避免任何错误你可以通过以下方式检查pip的版本pip—版本如果您想安装任何特定版本的pip,例如18.1版本,python-m pip安装pip==18.1