13  文件夹和虚拟环境

13.1 介绍

在本课程中,我们将使用 Visual Studio Code (VS Code) 探索 Python 中的虚拟环境。我们将创建一个新的工作区,设置一个虚拟环境,并安装项目特定的包。

13.2 学习目标

完成本课程后,您应该能够:

  • 在 VS Code 中创建一个新的工作区
  • 理解虚拟环境的概念
  • 在 VS Code 中创建和使用虚拟环境
  • 在虚拟环境中安装和使用包

13.3 创建新的工作区

在您的桌面或 Documents 文件夹中,创建一个新文件夹并命名为 graph_courses_python。这是本课程许多项目的主文件夹,请确保将其放在一个容易找到的位置。

打开 VS Code。

转到 文件 > 打开文件夹

导航到您刚创建的 graph_courses_python 文件夹并选择它。

现在创建一个新的脚本,命名为 test_cowsay.py

在文件中输入 print(2 + 2),然后点击运行按钮以确保一切正常工作。

接下来,让我们尝试导入我们尚未安装的包。将以下行添加到您的文件中:

import cowsay

cowsay.cow("Hello, World!")

如果您尝试运行此代码,将会出现错误。

这是因为我们尚未安装 cowsay 包。为了正确安装它,我们需要使用虚拟环境。

13.3.1 词汇:环境与解释器

  • 环境 是一个文件夹,包含特定版本的 Python 及您安装的任何包。
  • Python 解释器 是特定的

13.4 创建虚拟环境

  1. 打开 命令面板
  2. 输入 Python: Create Environment 并选择它。
  3. 选择 Venv 作为环境类型。
  4. 选择您要使用的 Python 解释器(例如,Python 3.12.0)。

您现在应该看到一个名为 .venv 的新文件夹。这就是虚拟环境。里面有一个名为 lib 的文件夹,包含包。

接下来,告诉 VS Code 使用这个虚拟环境:

  1. 再次打开 命令面板
  2. 输入 Python: Select Interpreter 并选择它。
  3. 选择与您的虚拟环境相关联的解释器(它应列在 .venv 下)。

现在我们已经创建并选择了我们的虚拟环境。我们可以在不影响其他项目的情况下安装包。

13.5 安装包

让我们安装 cowsay 包。

  1. 在 VS Code 中打开一个 新终端。 您可以通过终端文件菜单选项然后选择“新终端”来完成。
  2. 确保终端正在使用您的虚拟环境。您可以通过将鼠标悬停在终端窗口中的终端图标上来检查。它应该提到已激活 .venv 环境等信息。
  3. 运行以下命令:
#| eval: false
pip install cowsay

有时,您可能会遇到 pip 在终端中无法识别的问题。这可能是由于 VS Code 的环境检测出现暂时性故障。如果发生这种情况,请尝试以下步骤:

  1. 关闭并重新打开 VS Code。
  2. 使用命令面板重新选择 Python 解释器。
  3. 打开一个新终端。

这些步骤应能解决问题并恢复对 pip 的访问。如果问题仍然存在,可能表明存在更复杂的配置问题,需要进一步调查。

现在我们应该可以使用 cowsay 包。打开 test_cowsay.py 并点击运行按钮来执行脚本。

您应该会看到一头牛在打招呼!

13.6 关键步骤总结

恭喜!您已经创建了一个虚拟环境并安装了一个包。

这些是任何新 Python 项目的关键步骤:

  1. Folder:创建一个项目文件夹。
  2. Environment:设置一个虚拟环境。
  3. Interpreter:选择合适的 Python 解释器。
  4. Libraries:安装必要的包。

记住这个首字母缩略词 FEIL 以帮助您记忆这些步骤。(如果您不完成这些步骤,您将增加“失败”(FEILure)的可能性 😅)

每次开始一个新项目都需要设置一个虚拟环境有点麻烦,但这是一个养成的好习惯。

13.7 演示环境隔离

让我们演示虚拟环境是如何隔离的。

  1. 使用文件 > 打开文件夹菜单选项打开您之前的工作区 my_first_workspace

  2. 创建一个 Python 文件并尝试使用 cowsay 包:

    ::: {#45de7e94 .cell execution_count=2} {.python .cell-code} import cowsay :::

这可能无法正常工作,因为该环境中未安装 cowsay。如果它确实工作,这意味着您已在全局范围内安装了 cowsay,这也是可以的。

现在,让我们返回到我们的主文件夹/工作区。这是您将在本课程中进行大部分分析的地方。

13.8 安装课程包

作为最后一步,让我们安装课程所需的包。虽然我们可以在遇到每个包时分别安装,但一次性安装所有包更有效。在终端中运行以下命令。请非常仔细地输入这些命令。

#| eval: false
pip install plotly pandas jupyter ipykernel kaleido itables
  • pandas:数据操作库。
  • plotly:可视化库。
  • jupyteripykernel:允许我们使用 Quarto 显示我们的图表。
  • kaleido:用于以不同格式保存图表的库。
  • itables:在 Quarto 中显示表格的库。

安装完成后,终端中的光标应再次处于活动状态。例如,您应该可以按回车键开始一个新命令。

将此包列表保留以备将来参考,因为您可能会在大多数项目中需要它们。

此命令将一次性安装所有所需的包。如果您的安装在某个点停止,请尝试重新运行该命令。有时网络问题可能会导致安装失败。如果它冻结超过 10 分钟,请关闭终端并重新运行该命令。

13.9 结论

您现在已经学习了如何创建工作区,设置虚拟环境,安装包,并在 Python 项目中使用它们。请记住,每个项目都应该有自己的虚拟环境,以保持依赖项的隔离和可管理性。