我可以更新pip管理的包,但如何更新pip本身?根据pip--version,我目前在virtualenv中安装了pip1.1,我想更新到最新版本。
这是什么命令?我需要使用distribute吗?或者是否有本机pip或virtualenv命令?我已经尝试过pip更新和pip更新,但没有成功。
我可以更新pip管理的包,但如何更新pip本身?根据pip--version,我目前在virtualenv中安装了pip1.1,我想更新到最新版本。
这是什么命令?我需要使用distribute吗?或者是否有本机pip或virtualenv命令?我已经尝试过pip更新和pip更新,但没有成功。
当前回答
打开具有管理员权限的命令提示符,然后重复以下命令:
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脚本都是天生的危险。出于这个原因,官方说明建议下载脚本并在运行前对其进行检查。
也就是说,许多人实际上并没有检查代码,只是运行它。这种单行程序使这更容易。
我也遇到了类似的情况,想更新urllib3包。对我有用的是:
pip3 install --upgrade --force-reinstall --ignore-installed urllib3==1.25.3
首先,执行以下操作:
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的同义词。
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
我在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)