在 Ubuntu 中安装 pip

2025年03月17日 | 阅读 9 分钟

什么是 pip?

Pip 可以被描述为安装 Python 包的工具。我们可以使用 Python 包索引(简称 PyPI)和 pip 的其他包索引下载、搜索和安装许多包。pip 用于安装和管理 Python 软件包。如果安装任何包,pip 会首先解决依赖关系,确定它们是否已安装,然后如果系统上未安装,则安装它们。此过程方便安装和管理所有 Python 软件包,例如 Python 包索引(简称 PyPI)中提到的那些。

Pip 也可以被描述为 “Pip Installs Packages” 的抽象。Pip 被称为一种通过命令行实现的包管理系统。Ubuntu 用户可以轻松地使用 pip 通过 Python 包索引安装多个包。此外,如果软件开发人员,它还允许我们为我们的 Python 项目安装多个 Python 包和模块。

  • 它是一种包安装工具,用于通过 PyPI 和多个存储库获取包。
  • 它可以简化包的管理和安装过程。
  • 它是一个用于 Python 项目的多环境包管理器,可以帮助处理依赖项和库。
  • 在 Ubuntu Linux 上,pip 安装是一个简单快捷的过程。
  • 它链接到一个名为 Python 包索引的在线公共包存储库。
  • 此外,pip 可以配置为连接到各种包存储库(远程或本地),前提是它们符合 Python 增强提案 503。
  • 大多数 Python 发行版都预装了 pip。Python 2.7.9 及更高版本(在 python2 系列上)以及 Python 3.4 及更高版本默认包含 pip。

在本文中,我们将解释如何在 Ubuntu 20.04 版本中为 Python 2 和 Python 3 安装 pip。此外,我们还将介绍安装基础知识以及如何使用 pip 处理 Python 包。

Pip 的历史

2008 年,Pip 最初由 Ian Bickingvirtualenv 包的创建者)以 pyinstall 的形式发布,作为 easy_install 的替代品。Pip 被选为一个新名称,是创建者在他的博客文章中收到的众多建议之一。

根据 Ian Bicking 本人所说,这个标题是 “Pip Installs Packages” 的递归组合。

Python 打包机构(简称 PyPA)是为了接管 Bicking 的 virtualenv 和 Pip 维护而开发的,该机构由 Jannis Leidel、Brain RosnerCarl Meyer 于 2011 年领导。随着 Pip 6.0 版本的发布,版本命名过程被修改为采用 X.Y 格式的版本,然后从版本标签中删除前导的 1。

开始之前

Python 有两个版本,包括 Python 3Python 2。从 Ubuntu 20.04 版本开始,Python 3 包含在基本系统安装中,而 Python 2 则通过 Universe 存储库提供安装。

许多用户都希望切换到 Python 3。全局安装 Python 模块时,强烈建议使用 apt 工具安装该模块的 deb 包,因为它们经过测试可以在所有 Ubuntu 系统上正常运行。Python 3 的包以 python3- 为前缀,Python 2 的包以 python2- 为前缀。

我们应该仅在特定模块没有 deb 包时才全局优先使用 pip 安装模块。我们应该只在虚拟环境中使用 pip。Python 的虚拟环境允许我们将 Python 模块安装到特定项目的独立位置,而不是全局安装。这样,我们就不必担心影响其他 Python 项目。

pip 用户指南

运行 pip:它是一个命令行程序。当我们安装 pip 时,pip 命令会包含在我们的系统中,它可以从终端窗口执行,如下所示

pip 由 `python -m pip` 执行,其中 `python` 是我们指定的 Python 解释器。因此,`/usr/bin/python3.7 -m pip` 目录表示我们正在为位于 `/usr/bin/python3.7` 目录中的解释器运行 pip。

使用代理服务器: 当我们使用 PyPI 安装软件包时,pip 需要互联网访问,这在一些企业平台中需要最终的 HTTP 代理服务器。

pip 可以通过多种方式设置为从代理服务器连接

  • 使用命令行选项,即 --proxy,以 scheme://[user:passwd@]proxy.server:port 格式命名代理。
  • 在配置文件中使用代理选项。
  • 设置 no_proxy、httpd_proxy 和 http_proxy 环境变量。
  • 使用 PIP_USER_AGENT_USER_DATA 环境变量,在 pip 请求中使用的用户代理变量中添加 JSON 编码的字符串。

需求文件: 这些文件包含要使用 `pip install` 安装的项目列表,如下所示

需求文件仅仅是逻辑上位于文件中的 pip install 参数列表。请记住,我们不应依赖文件项目以特定顺序通过 pip 安装。此外,需求文件可以通过 URL 提供,因此它们可以保存在集中位置并提供服务。

需求文件的一些常见用途如下

需求文件可用于从 pip freeze 抓取结果以实现可重复安装。我们的需求文件包含在执行 pip freeze 期间安装的所有内容的固定版本。

  • 需求文件强制 pip 正确解决依赖关系。pip 的 20.02 及以前版本不包含真正的依赖关系解析,而只是简单地使用它为项目看到的初始规范。
  • 需求文件使用位于版本控制中的本地补丁覆盖依赖关系。

约束文件: 这些文件被称为需求文件,它只管理系统中安装了哪个版本的需求,而不是它是否已安装。约束文件的内容和语法是一组需求文件,以及各种不允许的语法类型:约束必须包含名称,它们不能定义额外内容,并且它们不能是可变的。在语义方面,存在一个重要的区别:添加包不会触发约束文件中的包安装。

我们可以按以下方式使用约束文件

当我们不知道要安装什么东西时,约束文件的用途与需求文件相似。例如,假设一个名为“helloworld”的包在我们的环境中不起作用,所以我们有一个本地修补版本。我们安装的一些东西依赖于“helloworld”,而另一些则不依赖。

确保此修补版本被频繁使用的一种方法是手动检查我们安装的任何内容的依赖关系。此外,约束文件提供了一种更好的方法来完成上述操作。我们需要为我们的企业编写一个约束文件,并将其应用于所有地方。

递归升级“仅在需要时”

`pip install --upgrade` 命令现在有了 `--upgrade-strategy` 选项,它管理 pip 如何控制依赖项升级。支持两种不同的升级策略,如下所述和解释

  • only-if-needed: 此策略用于仅当依赖项不满足父要求时才升级它。
  • eager: 此策略用于升级每个依赖项,无论它们是否满足父要求。

only-if-needed 是默认策略。它在 pip 10.0 中进行了编辑,因为如果升级冲突的依赖项,eager 策略会破坏行为。重要的是要记住,--upgrade 选项影响直接要求,而 --upgrade-strategy 选项影响间接要求。

用户安装

对于安装,pip 2.6 版本提供了用户方案,这意味着每个 Python 发行版都支持一个特定于用户的不同安装位置。此安装模式通过定义选项(即 --user)来启用,以用于 pip install。

另一方面,用户方案可以通过配置环境变量,即 `PYTHONUSERBASE` 来个性化,这可以更新 `site.USER_BASE` 的值。

前提条件

在我们开始之前,我们需要一个带有 sudo 用户的 Ubuntu 20.04 实例。如果我们还没有,那么我们可以随时使用一个完全托管的高性能云 VPS,只需 3.71 美元。

在 Ubuntu 20.04 中安装 pip

我们可以使用 Python 官方软件包网站 (PyPI) 获取所有兼容软件包的列表。此外,我们还可以借助该网站获取有关安装过程的支持。

例如,如果我们希望安装一个像 “scrapy” 这样的软件包,它是用于网页抓取的软件包。此外,我们还可以获取软件包的文档,以便更好地理解。

要安装 PIP 文件,我们需要输入以下命令


Install pip in Ubuntu

此命令会提示我们并询问我们是否希望安装它 (y/n),我们应该点击 "y" 进行安装过程,如下图所示

可以使用下面提到的命令来识别已安装的 pip 版本


Install pip in Ubuntu

现在,如果我们想知道如何应用 pip 命令和其它可用功能,我们可以通过在终端中输入下面提到的命令来查看它们


Install pip in Ubuntu

现在,正如我们从上图中所见,第一个命令用于安装包。所以,我们以安装 Python 包,即 scrapy 为例。我们可以通过输入以下命令来完成


Install pip in Ubuntu

此外,我们还可以通过遵循完全相同的语法安装其他我们选择的软件包。

安装过程完成后,我们可以通过在终端中输入以下命令来查看软件包是否已安装


Install pip in Ubuntu

上面的命令将显示所有已安装软件包的列表,我们可能需要向下滚动才能查看已安装的软件包。

使用 pip 升级包

我们可以使用以下命令将已安装的软件包升级到当前版本

卸载 Python 包

我们可以通过输入下面提到的命令来卸载我们安装的任何旧包


Install pip in Ubuntu

为 Python 2 安装 pip

对于 Python 2,pip 包在 universe 存储库中可用。但是,如果我们的系统上没有它,那么我们可以借助终端中的以下命令来安装它


Install pip in Ubuntu

要更新包列表,我们可以输入下面提到的命令


Install pip in Ubuntu

首先,我们将安装 Python 2 的最小软件包


Install pip in Ubuntu

对于 Python 2,20.04 版本的 Ubuntu 中不包含 pip 包。因此,我们需要应用 pip 的安装脚本。命令如下


Install pip in Ubuntu

然后,我们需要运行 Python 脚本和 python2 来在我们的系统上安装 pip。为此,我们可以使用以下命令


Install pip in Ubuntu

安装过程后,我们可以通过输入以下命令检查 pip 版本


Install pip in Ubuntu

如何在 Ubuntu 中使用 pip2 检查已安装的软件包

我们可以使用终端中的以下命令列出所有使用 pip2 安装的软件包


Install pip in Ubuntu

我们可以看到结果显示了使用 pip2 安装的包

在 Ubuntu 中使用 pip2 升级包

此外,我们还可以使用 pip2 命令升级已安装的包。我们可以使用以下语法升级任何包

在 Ubuntu 中使用 pip2 卸载包

如果您希望从我们的 Ubuntu 系统卸载任何包,我们可以使用 pip2 命令中的选项 “uninstall”。使用 pip2 卸载包的语法如下

在 Ubuntu 20.04 中卸载 Python3 的 pip

对于 Python3,如果我们希望卸载 pip 包,那么我们可以通过在终端中输入以下命令来完成


Install pip in Ubuntu

结论

Python 代码运行速度更快,并且有多个模块可用于增强程序的功能。Python 是最容易学习和简化的编程语言之一。在本文中,我们学习了如何在 Ubuntu 20.04 操作系统中为 Python 3 和 Python 2 安装 pip 包。此外,我们还学习了如何卸载 pip 和包。


下一个主题重启 MySQL Ubuntu