使用pip更新软件包的方法是什么?那些不工作:
pip update pip upgrade
我知道这是一个简单的问题,但它是必要的,因为它不是那么容易找到(pip文档不弹出和堆栈溢出的其他问题是相关的,但不完全是关于)
mtb9vblg1#
方法是
pip install <package_name> --upgrade
或者简而言之
pip install <package_name> -U
使用sudo将要求输入root密码以确认操作,但尽管常见,但被认为是unsafe。如果您没有root密码(如果您不是管理员),您可能应该使用virtualenv。您也可以使用用户标志仅在此用户上安装它。
sudo
pip install <package_name> --upgrade --user
7cwmlq892#
对于非特定的包和更通用的解决方案,您可以查看pip-review。一个工具,检查哪些包可以/应该被更新。要安装:
$ pip install pip-review
然后运行:
$ pip-review --interactive requests==0.14.0 is available (you have 0.13.2) Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit y
puruo6ea3#
在终端中使用此代码:
python -m pip install --upgrade PACKAGE_NAME
例如,我想更新pip包:
pip
python -m pip install --upgrade pip
更多示例:
python -m pip install --upgrade selenium python -m pip install --upgrade requests ...
w3nuxt5m4#
tl;dr脚本,用于更新所有已安装的软件包如果你只想升级一个软件包,请参考@borgr的答案。我经常发现有必要,或者至少是令人愉快的,一次升级我所有的软件包。目前,pip本身并不支持该操作,但使用sh脚本就足够简单了。您可以使用pip list、awk(或cut和tail)和命令替换。我通常的一行代码是:
pip list
awk
cut
tail
for i in $(pip list -o | awk 'NR > 2 {print $1}'); do sudo pip install -U $i; done
这将要求输入root密码。如果您没有访问权限,则可以查看pip或virtualenv的--user选项。
--user
7jmck4yq5#
我使用下面这行来更新所有过期的软件包:
pip list --outdated --format=freeze | awk -F '==' '{print $1}' | xargs -n1 pip install -U
在较新版本的pip上,使用上面的break,而不是:
pip list --outdated --format=json | jq '.[].name' | xargs -n1 pip install -U
5gfr0r5j6#
import subprocess as sbp import pip pkgs = eval(str(sbp.run("pip3 list -o --format=json", shell=True, stdout=sbp.PIPE).stdout, encoding='utf-8')) for pkg in pkgs: sbp.run("pip3 install --upgrade " + pkg['name'], shell=True)
保存为xx.py然后运行Python 3 xx.py环境:python3.5+ pip10.0+
hpcdzsge7#
虽然离题了,但人们可能会想到这个问题,希望更新pip本身(参见here)。要将pip升级到Python3.4+,必须按如下方式使用pip 3:
sudo pip3 install pip --upgrade
这将升级位于以下位置的pip:/usr/local/lib/python3.X/dist-packages否则,要将pip升级到Python2.7,您将使用pip如下:
sudo pip install pip --upgrade
这将升级位于以下位置的pip:/usr/local/lib/python2.7/dist-packages
83qze16e8#
此外,在Jupyter notebook中,通过在代码单元格中运行下面的代码,您可以更新您的包:
%pip install <package_name> --upgrade
q35jwt9p9#
在命令提示符下执行以下命令,
C:\Users\Owner\AppData\Local\Programs\Python\Python310>python -m pip install --upgrade pip
输出将如下所示,
Requirement already satisfied: pip in c:\users\owner\appdata\local\programs\python\python310\lib\site-packages (21.2.4) Collecting pip Downloading pip-22.0.3-py3-none-any.whl (2.1 MB) |████████████████████████████████| 2.1 MB 3.3 MB/s Installing collected packages: pip Attempting uninstall: pip Found existing installation: pip 21.2.4 Uninstalling pip-21.2.4: Successfully uninstalled pip-21.2.4 Successfully installed pip-22.0.3
9条答案
按热度按时间mtb9vblg1#
方法是
或者简而言之
使用
sudo
将要求输入root密码以确认操作,但尽管常见,但被认为是unsafe。如果您没有root密码(如果您不是管理员),您可能应该使用virtualenv。
您也可以使用用户标志仅在此用户上安装它。
7cwmlq892#
对于非特定的包和更通用的解决方案,您可以查看pip-review。一个工具,检查哪些包可以/应该被更新。
要安装:
然后运行:
puruo6ea3#
在终端中使用此代码:
例如,我想更新
pip
包:更多示例:
w3nuxt5m4#
tl;dr脚本,用于更新所有已安装的软件包
如果你只想升级一个软件包,请参考@borgr的答案。我经常发现有必要,或者至少是令人愉快的,一次升级我所有的软件包。目前,pip本身并不支持该操作,但使用sh脚本就足够简单了。您可以使用
pip list
、awk
(或cut
和tail
)和命令替换。我通常的一行代码是:这将要求输入root密码。如果您没有访问权限,则可以查看
pip
或virtualenv的--user
选项。7jmck4yq5#
我使用下面这行来更新所有过期的软件包:
在较新版本的pip上,使用上面的break,而不是:
5gfr0r5j6#
保存为xx.py
然后运行Python 3 xx.py
环境:python3.5+ pip10.0+
hpcdzsge7#
虽然离题了,但人们可能会想到这个问题,希望更新pip本身(参见here)。
要将pip升级到Python3.4+,必须按如下方式使用pip 3:
这将升级位于以下位置的pip:/usr/local/lib/python3.X/dist-packages
否则,要将pip升级到Python2.7,您将使用pip如下:
这将升级位于以下位置的pip:/usr/local/lib/python2.7/dist-packages
83qze16e8#
此外,在Jupyter notebook中,通过在代码单元格中运行下面的代码,您可以更新您的包:
q35jwt9p9#
在命令提示符下执行以下命令,
输出将如下所示,