---
author: Sagar Sharma
category: 技术
comments_data:
- date: '2022-11-07 18:01:46'
  message: Python软件包的依赖关系令人头疼。如果可以运行，建议不要升级它。
  postip: 1.198.19.77
  username: 来自河南郑州的 Firefox 106.0|Android 11 用户
count:
  commentnum: 1
  favtimes: 0
  likes: 0
  sharetimes: 0
  viewnum: 6087
date: '2022-11-07 15:34:10'
editorchoice: false
excerpt: 大多数用户往往会忘记这些 Python 软件包也需要手动更新，因为仅仅更新系统存储库对于软件包来说是不起作用的。
fromurl: https://itsfoss.com/upgrade-pip-packages/
id: 15224
islctt: true
largepic: /images/p/202211/07/153408lqflbw3mwxja3qm4.jpg
permalink: /article-15224-1.html
pic: /images/p/202211/07/153408lqflbw3mwxja3qm4.jpg.thumb.jpg
related: []
reviewer: wxy
selector: lkxed
summary: 大多数用户往往会忘记这些 Python 软件包也需要手动更新，因为仅仅更新系统存储库对于软件包来说是不起作用的。
tags:
- Python
- Pip
thumb: false
title: 使用 Pip 升级 Python 软件包
titlepic: true
translator: chai001125
updated: '2022-11-07 15:34:10'
---

![](/images/p/202211/07/153408lqflbw3mwxja3qm4.jpg)


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


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


### 如何使用 Pip 升级 Python 软件包


[Pip（Pip Installs Packages）](https://itsfoss.com/install-pip-ubuntu/) 是一个用于管理 Python 软件包的 <ruby> 命令行实用程序 <rt>  command line utility </rt></ruby> 。你可以将 Pip 安装 Python 软件包，类比为在 Ubuntu 和 Debian 中使用 `apt` 管理软件包那样。


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


#### 1、列出过时的 Python 软件包


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


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



```
pip list --outdated

```

![outdated packages](/images/p/202211/07/153410v48318bnb0z4qxap.png)


#### 2、升级特定的软件包


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



```
pip install package_name -U

```

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



```
pip install anime-api -U

```

![update anime api](/images/p/202211/07/153411w56fs9s0rslzsf63.png)


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


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



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

```

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



```
pip install --upgrade xdg==5.1

```

![upgrade xdg to specific iteration](/images/p/202211/07/153411ioeej6hj6k6dhvko.png)


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


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


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



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

```

![upgrade everything](/images/p/202211/07/153412m71rz1246h22xavc.png)


上面的命令使用了 [xargs](https://linuxhandbook.com/xargs-command/)。首先，会得到所有需要更新的软件包，然后对每个软件包执行 `pip3 install -U` 命令。


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


### 总结


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


如果你还有其他的疑问，就请在评论区中留言吧。




---


via: <https://itsfoss.com/upgrade-pip-packages/>


作者：[Sagar Sharma](https://itsfoss.com/author/sagar/) 选题：[lkxed](https://github.com/lkxed) 译者：[chai001125](https://github.com/chai001125) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出