简介
Python 是一种功能强大的编程语言,拥有庞大的包和库生态系统。为了有效地管理这些依赖项,使用虚拟环境是一种最佳实践。在本教程中,你将学习如何创建虚拟环境并在其中安装 Python 包,以确保开发环境干净整洁且井井有条。
Python 是一种功能强大的编程语言,拥有庞大的包和库生态系统。为了有效地管理这些依赖项,使用虚拟环境是一种最佳实践。在本教程中,你将学习如何创建虚拟环境并在其中安装 Python 包,以确保开发环境干净整洁且井井有条。
虚拟环境是一个隔离的 Python 环境,它允许你独立于系统的全局 Python 安装来安装和管理包。当你有多个具有不同依赖项的项目时,这特别有用,因为它可以防止包之间的冲突,并确保每个项目都有自己独立的环境。
虚拟环境是使用 venv 模块创建的,该模块是 Python 标准库的一部分。这个模块提供了一种创建和管理虚拟环境的方法,允许你在环境中安装包、依赖项,甚至不同版本的 Python。
通过使用虚拟环境,你可以确保项目的依赖项是隔离的,不会干扰其他项目或系统的全局 Python 安装。这使得管理和维护项目变得更加容易,尤其是在同时处理多个项目时。
使用虚拟环境的主要优点包括:
通过理解虚拟环境的概念,你可以有效地管理你的 Python 项目,并确保你的依赖项是隔离的且组织良好。
要创建虚拟环境,你可以使用 Python 3 中预先安装的 venv 模块。以下是在 Ubuntu 22.04 系统上创建虚拟环境的方法:
打开终端:你可以通过按下 Ctrl + Alt + T 或者在应用菜单中搜索 “终端” 来打开终端。
验证 Python 版本:确保你的系统上安装了 Python 3。你可以通过运行以下命令来检查版本:
python3 --version
输出应该显示已安装的 Python 版本,例如,Python 3.9.2。
创建虚拟环境:使用 python3 -m venv 命令创建一个新的虚拟环境。我们将其命名为 my-env:
python3 -m venv my-env
这将在你当前的工作目录中创建一个名为 my-env 的新目录,其中将包含虚拟环境的文件和目录。
激活虚拟环境:要开始使用虚拟环境,你需要激活它。在 Ubuntu 22.04 上,你可以通过运行以下命令来实现:
source my-env/bin/activate
你应该会在终端提示符的开头看到虚拟环境的名称 (my-env),这表明环境现在已激活。
验证活动环境:你可以通过运行 which python3 命令来确认虚拟环境是否已激活。它应该显示虚拟环境中 Python 解释器的路径,例如,~/my-env/bin/python3。
现在你已经创建并激活了虚拟环境,就可以在这个隔离的环境中安装 Python 包了。
按照这些步骤,你已在 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 文件,其中包含已安装包及其版本的列表。
要在新的虚拟环境中从需求文件安装依赖项:
python3 -m venv new-env
source new-env/bin/activate
(new-env) $ pip install -r requirements.txt
这将在新的虚拟环境中安装相同的包和依赖项集,确保你的项目能够在其他机器上轻松重现。
通过遵循这些步骤,你可以使用虚拟环境和 pip 包安装工具有效地管理和共享 Python 项目的依赖项。
通过遵循本教程中概述的步骤,你将能够创建一个 Python 虚拟环境,在其中安装包,并维护一个组织良好的开发环境。这将帮助你有效地管理 Python 依赖项,确保你的项目在不同系统上平稳且一致地运行。