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

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


当前回答

我吃树莓皮也有类似的问题。

问题是http需要SSL,所以我需要强制它使用https来绕过这一要求。

sudo pip install --upgrade pip --index-url=https://pypi.python.org/simple

or

sudo pip-3.2 --upgrade pip --index-url=https://pypi.python.org/simple/

其他回答

pip和其他任何软件包一样只是一个PyPI包;您可以使用它来升级自己,就像升级任何软件包一样:

pip install --upgrade pip

在Windows上,建议使用以下命令:

python -m pip install --upgrade pip

单线Python程序我找到的最好的方法是编写一个单行程序,下载并运行官方的get pip脚本。请参见下面的代码。

官方文档建议使用curl来下载getpip脚本,但由于我在windows上工作,没有安装curl,所以我更喜欢使用python本身来下载和运行脚本。

以下是可以使用Python 3通过命令行运行的单行程序:

python -c "import urllib.request; exec(urllib.request.urlopen('https://bootstrap.pypa.io/get-pip.py').read())"

这一行根据安装说明获取官方的“getpip.py”脚本,并使用“exec”命令执行该脚本。

对于Python2,您可以将“urllib.request”替换为“urllib2”:

python -c "import urllib2; exec(urllib2.urlopen('https://bootstrap.pypa.io/get-pip.py').read())"

注意事项值得注意的是,盲目运行任何python脚本都是天生的危险。出于这个原因,官方说明建议下载脚本并在运行前对其进行检查。

也就是说,许多人实际上并没有检查代码,只是运行它。这种单行程序使这更容易。

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

python -m pip install -U pip

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

我已经在C:\Python\Python36中安装了Python,因此我进入Windows命令提示符并键入cd C:\Python\Python36以进入正确的目录。然后进入python-m安装--升级pip一切顺利!

如果您正在使用venv,对pip安装的任何更新都将导致升级系统pip而不是venv pip。您还需要升级pip引导包。

python3 -m pip install --upgrade pip setuptools wheel