Python 虚拟环境的核心价值在于隔离。想象一下,你手头有多个项目,一个需要古老的 Django 1.11,另一个则要尝鲜最新的 PyTorch 2.0,如果把它们都装在同一个全局环境里,版本冲突几乎是必然的。为不同项目建立隔离的开发环境,能有效避免依赖冲突,确保每个项目都能拥有其特定版本的 Python 解释器和第三方库,这正是虚拟环境存在的意义。
使用 Conda 创建 Python 虚拟环境
在 Miniconda 或 Anaconda 的生态中,我们主要使用 conda 命令来管理虚拟环境。假设我们要为一个机器学习项目建立一个名为 keras-bk 的环境,并指定使用 Python 3.10。
首先,打开你的终端(在 WSL 中),进入用户目录,然后执行以下命令:
conda create -n keras-bk python=3.10 -y
这个命令中,-n 选项(等价于 --name)用于指定虚拟环境的名称,这里就是 keras-bk。python=3.10 则明确了我们需要安装的 Python 版本。最后的 -y 参数表示自动确认,省去手动输入“y”的步骤。
命令执行后,你会看到一系列输出,包括解析依赖、下载包等过程。下图展示了命令执行的初始阶段:

稍等片刻,当环境创建完成,终端会给出如何激活该环境的提示,如下图所示:

环境创建成功后,为了让 conda activate 和 conda deactivate 命令在 shell 中生效,我们需要初始化 conda。执行以下命令:
conda init
初始化完成后,务必关闭并重新打开终端,以使更改生效。初始化过程通常会修改你的 shell 配置文件(如 .bashrc)。

重新启动终端后,你应该能在命令行提示符前看到 (base) 字样,这表示当前处于 conda 的“基础”环境。现在,我们可以查看已有的所有环境列表:
conda env list
执行结果会列出所有环境及其路径,带 * 号的是当前激活的环境。你应该能看到刚刚创建的 keras-bk。

激活并使用虚拟环境
要进入我们创建的 keras-bk 环境,使用 activate 命令:
conda activate keras-bk
成功激活后,命令行提示符前的 (base) 会变成 (keras-bk)。

现在,你已身处一个干净的、仅包含 Python 3.10 和基础包的独立环境。可以查看当前环境下已安装的包:
conda list

接下来,让我们在这个环境中做点实际的事情。例如,安装一个轻量级的 Python IDE —— Thonny 来进行开发测试:
pip install thonny
安装完成后,直接输入 thonny 命令即可启动。首次启动会有一个简单的设置向导,保持默认选项,点击 “Let‘s go!” 即可。

在 Thonny 的编辑器中,你可以编写 Python 代码。例如,输入以下两行:
num = 10
print(num)
然后按 F5 运行,你将在下方的 Shell 窗口看到输出结果 10。

退出与删除虚拟环境
当你在 keras-bk 环境中完成工作后,可以使用以下命令退出当前环境,回到 base 环境:
conda deactivate

如果你确定某个虚拟环境不再需要,可以将其彻底删除以释放磁盘空间。请注意,此操作不可逆。在 base 环境或其他环境中,执行:
conda env remove --name keras-bk
系统会提示你确认,因为该环境目录下的所有文件都将被删除。输入 y 确认。

总结
通过 conda create, conda activate, conda deactivate 和 conda env remove 这一组命令,你已经掌握了使用 Conda 管理 Python 虚拟环境的基本生命周期操作。这种隔离实践是现代Python开发中管理项目依赖的基石,尤其在进行数据科学或机器学习项目时,能让你在不同版本的库和框架之间游刃有余。如果你在实践过程中遇到任何问题,或想分享自己的环境管理技巧,欢迎在云栈社区与其他开发者交流讨论。