使用 Pip 升级 Python 软件包

开发 后端
让我们花点时间看看如何使用 Pip,来更新旧的 Python 软件包吧。

你上次更新通过 Pip 安装的 Python 软件包是什么时候?大多数用户往往会忘记这些 Python 软件包也需要手动更新,因为仅仅更新系统存储库对于软件包来说是不起作用的。

因此,让我们花点时间看看如何使用 Pip,来更新旧的 Python 软件包吧。

如何使用 Pip 升级 Python 软件包

​Pip(Pip Installs Packages)​​ 是一个用于管理 Python 软件包的 命令行实用程序command line utility 。你可以将 Pip 安装 Python 软件包,类比为在 Ubuntu 和 Debian 中使用 ​​apt​​ 管理软件包那样。

因此,接下来就让我们深入了解如何使用这个极好的工具 Pip,来管理与 Python 软件包相关的内容吧。

1、列出过时的 Python 软件包

在计划更新什么软件包之前,我们先要列出有哪些过时的软件包,你可以在其中选择想要更新的软件包,因为大多数人不会想一下子更新整个软件包库。

要列出过时的 Python 软件包,你只需将 ​​pip​​ 命令与 ​​list​​ 选项、​​--outdated​​ 标志一同使用即可,如下图所示:

pip list --outdated

outdated packages

2、升级特定的软件包

获得可更新的软件包列表后,你可以像我之前提到的那样,选择你要更新的那个特定的软件包,pip 升级软件包命令的语法如下:

pip install package_name -U

例如,我想将名为 ​​anime-api​​ 的软件包升级到最新版本,所以我将使用下面的命令来升级:

pip install anime-api -U

update anime api

3、将软件包升级到特定的版本

没有必要总是使用软件的最新版本,如果你想将软件包升级到不是最新的某个特定版本,参考如下的命令语法:

pip install --upgrade <package>==<version>

例如,我想将名为 ​​xdg​​ 的软件包更新到 5.1 版本,5.1 版本是最新版本的前一个版本,所以可以使用以下命令:

pip install --upgrade xdg==5.1

upgrade xdg to specific iteration

4、使用 Pip 一次性升级所有软件包

请注意:我不建议你一次性升级所以软件包,因为 Python 软件包的依赖项太复杂了,一次性的升级无法处理相互依赖项。

要一次性升级所有 python 软件包,你可以使用以下命令:

pip3 list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip3 install -U

upgrade everything

上面的命令使用了 ​​xargs​​。首先,会得到所有需要更新的软件包,然后对每个软件包执行 ​​pip3 install -U​​ 命令。

我在这里使用的是 ​​pip3​​,而不是 ​​pip​​。在 Ubuntu 22.04 及更高的版本中,​​pip​​ 和 ​​pip3​​ 命令都可以使用。

总结

使用 Pip 一次性更新所有 Python 软件包并不是一个好主意。我发现一次性更新后,软件包之间的依赖关系被破坏了,所以请确保只更新你想要更新的软件包。

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2020-03-16 18:30:47

pipPythonLinux

2022-07-25 10:20:39

apt 命令Ubuntu软件包

2022-10-12 15:37:33

TopgradeLinux软件包

2012-10-29 11:31:43

IBMdw

2012-10-24 14:54:15

IBMdw

2010-03-03 09:43:34

Linux软件包

2018-06-22 10:05:04

Arch LinuxDEB软件包

2009-12-28 12:25:44

2017-08-21 11:13:43

LinuxSnapcraft Snap软件包

2010-02-05 14:46:20

Ubuntu软件包

2009-12-16 10:25:14

sage开源软件包

2010-03-01 17:43:55

Linux Xsupp

2021-10-03 14:30:17

Arch LinuxPKGBUILD 文件软件包

2021-04-20 22:27:22

Python软件包GitHub

2010-04-30 10:28:11

Unix安装

2010-06-10 13:56:22

openSUSE软件包

2023-02-14 07:19:31

2019-09-25 09:20:33

机器学习Python数据科学

2010-01-07 14:44:14

Linux安装KDE

2009-12-21 11:26:36

点赞
收藏

51CTO技术栈公众号