如何在虚拟环境中安装 Python 包

PythonBeginner
立即练习

简介

Python 是一种功能强大的编程语言,拥有庞大的包和库生态系统。为了有效地管理这些依赖项,使用虚拟环境是一种最佳实践。在本教程中,你将学习如何创建虚拟环境并在其中安装 Python 包,以确保开发环境干净整洁且井井有条。

什么是虚拟环境?

虚拟环境是一个隔离的 Python 环境,它允许你独立于系统的全局 Python 安装来安装和管理包。当你有多个具有不同依赖项的项目时,这特别有用,因为它可以防止包之间的冲突,并确保每个项目都有自己独立的环境。

虚拟环境是使用 venv 模块创建的,该模块是 Python 标准库的一部分。这个模块提供了一种创建和管理虚拟环境的方法,允许你在环境中安装包、依赖项,甚至不同版本的 Python。

通过使用虚拟环境,你可以确保项目的依赖项是隔离的,不会干扰其他项目或系统的全局 Python 安装。这使得管理和维护项目变得更加容易,尤其是在同时处理多个项目时。

graph TD A[全局 Python 安装] --> B[虚拟环境 1] A --> C[虚拟环境 2] A --> D[虚拟环境 3] B --> E[项目 1 依赖项] C --> F[项目 2 依赖项] D --> G[项目 3 依赖项]

使用虚拟环境的主要优点包括:

  1. 依赖隔离:每个虚拟环境都有自己的一组包和依赖项,可防止项目之间发生冲突。
  2. 可重复性:通过在虚拟环境中指定包的确切版本,你可以确保项目能够在其他机器上重现。
  3. 灵活性:你可以为不同的项目创建多个虚拟环境,每个环境都有自己的一组依赖项。
  4. 易于管理:虚拟环境使管理和维护你的 Python 项目变得更加容易,因为你可以轻松地在环境之间切换,并根据需要安装/删除包。

通过理解虚拟环境的概念,你可以有效地管理你的 Python 项目,并确保你的依赖项是隔离的且组织良好。

创建虚拟环境

要创建虚拟环境,你可以使用 Python 3 中预先安装的 venv 模块。以下是在 Ubuntu 22.04 系统上创建虚拟环境的方法:

  1. 打开终端:你可以通过按下 Ctrl + Alt + T 或者在应用菜单中搜索 “终端” 来打开终端。

  2. 验证 Python 版本:确保你的系统上安装了 Python 3。你可以通过运行以下命令来检查版本:

    python3 --version

    输出应该显示已安装的 Python 版本,例如,Python 3.9.2

  3. 创建虚拟环境:使用 python3 -m venv 命令创建一个新的虚拟环境。我们将其命名为 my-env

    python3 -m venv my-env

    这将在你当前的工作目录中创建一个名为 my-env 的新目录,其中将包含虚拟环境的文件和目录。

  4. 激活虚拟环境:要开始使用虚拟环境,你需要激活它。在 Ubuntu 22.04 上,你可以通过运行以下命令来实现:

    source my-env/bin/activate

    你应该会在终端提示符的开头看到虚拟环境的名称 (my-env),这表明环境现在已激活。

  5. 验证活动环境:你可以通过运行 which python3 命令来确认虚拟环境是否已激活。它应该显示虚拟环境中 Python 解释器的路径,例如,~/my-env/bin/python3

现在你已经创建并激活了虚拟环境,就可以在这个隔离的环境中安装 Python 包了。

graph TD A[Ubuntu 22.04] --> B[Python 3] B --> C[venv 模块] C --> D[创建虚拟环境] D --> E[激活虚拟环境] E --> F[安装包]

按照这些步骤,你已在 Ubuntu 22.04 系统上成功创建了一个虚拟环境,现在可以用它来管理项目的依赖项了。

在虚拟环境中安装包

既然你已经创建并激活了虚拟环境,就可以开始在这个隔离的环境中安装 Python 包了。这能确保你项目的依赖项得到妥善管理,且不会与其他项目或系统的全局 Python 安装产生冲突。

安装包

要在活动的虚拟环境中安装包,可以使用 pip 命令,它是 Python 的包安装工具。以下是安装 requests 包的示例:

(my-env) $ pip install requests

终端提示符中的 (my-env) 前缀表示虚拟环境当前处于活动状态。使用 pip 安装的所有包都将安装在这个虚拟环境中,而非系统的全局 Python 安装中。

列出已安装的包

你可以通过运行以下命令查看活动虚拟环境中已安装的包列表:

(my-env) $ pip list

这将显示当前虚拟环境中安装的所有包及其版本的表格。

导出和导入依赖项

为了与他人共享项目的依赖项,或者在另一台机器上重新创建相同的环境,可以将已安装包的列表导出到一个需求文件中。然后,这个文件可用于在新的虚拟环境中安装相同的依赖项集。

要将依赖项导出到需求文件:

(my-env) $ pip freeze > requirements.txt

这将在当前目录中创建一个 requirements.txt 文件,其中包含已安装包及其版本的列表。

要在新的虚拟环境中从需求文件安装依赖项:

  1. 创建一个新的虚拟环境:
    python3 -m venv new-env
  2. 激活新的虚拟环境:
    source new-env/bin/activate
  3. 从需求文件安装依赖项:
    (new-env) $ pip install -r requirements.txt

这将在新的虚拟环境中安装相同的包和依赖项集,确保你的项目能够在其他机器上轻松重现。

通过遵循这些步骤,你可以使用虚拟环境和 pip 包安装工具有效地管理和共享 Python 项目的依赖项。

总结

通过遵循本教程中概述的步骤,你将能够创建一个 Python 虚拟环境,在其中安装包,并维护一个组织良好的开发环境。这将帮助你有效地管理 Python 依赖项,确保你的项目在不同系统上平稳且一致地运行。