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

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


当前回答

首先,执行以下操作:

sudo apt install python3 pip python setuptools文档

然后,作为非root用户(绝不,绝不以root身份运行pip*!):

# N.B. bash shell works for this, I have never tested with other shells!
. ....your_virtualenv_folder/bin/activate
pip3 install -U pip

注意:据我所知,-U是--upgrade的同义词。

其他回答

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

python -m pip install --upgrade pip

我也遇到了类似的情况,想更新urllib3包。对我有用的是:

pip3 install --upgrade --force-reinstall --ignore-installed urllib3==1.25.3

pip版本10有一个问题。它将显示为错误:

ubuntu@mymachine-:~/mydir$ sudo pip install --upgrade pip
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name main

解决方案是在您要升级的供应商中,然后运行:

sudo myvenv/bin/pip install --upgrade pip

而不仅仅是

sudo pip install --upgrade 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 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标志。