使用 Gitpod 进行 pandas 开发#

本文档的这一部分将指导您完成:

  • 使用 Gitpod 进行 pandas 开发环境

  • 创建 pandas 存储库在 GitHub 上的个人 fork

  • pandas 和 VSCode 的快速游览

  • 在 Gitpod 中处理 pandas 文档

Gitpod#

Gitpod 是一个开源平台,用于自动化和即用型开发环境。它使开发人员能够将开发环境描述为代码,并直接从浏览器为每个新任务启动即时、全新的开发环境。这减少了安装本地开发环境和处理不兼容依赖项的需求。

Gitpod GitHub 集成#

要使用 Gitpod,您需要在 GitHub 帐户上安装 Gitpod 应用,因此如果您还没有帐户,则需要先创建一个。

要开始,只需在 Gitpod 登录,并授予 GitHub 适当的权限。

我们构建了一个 Python 3.10 环境,所有开发依赖项将在环境启动时安装。

Fork pandas 存储库#

作为贡献者,处理 pandas 的最佳方式是首先 fork 该存储库。

  1. 浏览到 pandas repository on GitHubcreate your own fork

  2. 导航到您的 fork。您的 fork 的 URL 将类似于 noatamir/pandas-dev,其中 noatamir 将替换为您的 GitHub 用户名。

启动 Gitpod#

在通过 GitHub 身份验证到 Gitpod 后,您可以安装 Gitpod Chromium or Firefox browser extension ,它将在存储库的 Code 按钮旁边添加一个 Gitpod 按钮:

包含 Gitpod 按钮的 pandas 存储库截图
  1. 如果安装了扩展程序,您可以单击 Gitpod 按钮来启动一个新工作区。

  2. 或者,如果您不想安装浏览器扩展,可以访问 https://gitpod.io/#https://github.com/USERNAME/pandas,将 USERNAME 替换为您的 GitHub 用户名。

  3. 在这两种情况下,这都会在您的网络浏览器中打开一个新标签页,并开始构建您的开发环境。请注意,这可能需要几分钟。

  4. 环境构建完成后,您将被引导到您的工作区,包括 VSCode 编辑器以及处理 pandas 所需的所有依赖项。首次启动工作区时,您会注意到可能有一些正在运行的操作。这将确保您安装了 pandas 的开发版本。

  5. When your workspace is ready, you can test the build by entering:

    $ python -m pytest pandas
    

    请注意,此命令需要一段时间才能运行,因此一旦确认它正在运行,您可能希望使用 Ctrl-C 取消它。

快速工作区导览#

Gitpod 使用 VSCode 作为编辑器。如果您以前没有使用过此编辑器,可以查看“入门” VSCode docs 来熟悉它。

您的工作区看起来会与下图类似:

Gitpod 工作区截图

我们在编辑器中标出了一些重要部分:

  1. 您当前的 Python 解释器 - 默认情况下,这是 pandas-dev,应在状态栏和终端上显示。您无需激活 conda 环境,因为它将始终为您激活。

  2. 您当前的分支始终显示在状态栏中。您也可以使用此按钮更改或创建分支。

  3. GitHub Pull Requests 扩展 - 您可以使用它来处理工作区中的 Pull Requests。

  4. Marketplace 扩展 - 我们已向 pandas Gitpod 添加了一些必备扩展。不过,您还可以为您的用户安装其他扩展或语法高亮主题,这些将为您保留。

  5. 您的工作区目录 - 默认情况下,它是 /workspace/pandas-dev请勿更改此目录,因为这是 Gitpod 中唯一保留的目录。

我们还预装了一些工具和 VSCode 扩展,以帮助改善开发体验:

使用 Gitpod 的开发工作流#

本文档的 为 Pandas 做贡献 部分包含有关 pandas 开发工作流的信息。在处理您的贡献之前,请务必仔细阅读。

使用 Gitpod 时,git 已为您预先配置好:

  1. 您无需配置 git 用户名和电子邮件,因为在通过 GitHub 身份验证时已为您完成。除非您使用 GitHub 功能来隐藏电子邮件地址。您可以在终端中使用命令 git config --list 检查 git 配置。使用 git config --global user.email “your-secret-email@users.noreply.github.com” 将您的电子邮件地址设置为您在提交 GitHub 个人资料时使用的地址。

  2. 由于您是从自己的 pandas 分叉启动工作区的,因此默认情况下,upstreamorigin 都已添加为远程。您可以通过在终端中输入 git remote 来验证这一点,或者通过点击状态栏上的**分支名称**(见下图)来验证。

    Gitpod 工作区分支插件截图

渲染 pandas 文档#

您可以在 如何构建 pandas 文档 部分找到有关如何使用 Sphinx 渲染文档的详细文档。要构建完整文档,您需要在 /doc 目录中运行以下命令::

$ cd doc
$ python make.py html

或者,您可以使用以下命令构建单个页面::

python make.py --single development/contributing_gitpod.rst

您有两种主要方法可以在 Gitpod 中渲染文档。

选项 1:使用 Liveserve#

  1. pandas/doc/build/html 中查看文档。

  2. 要查看页面的渲染版本,您可以右键单击 .html 文件,然后单击 Open with Live Serve。 或者,您可以在编辑器中打开该文件,然后单击状态栏上的 Go live 按钮。

    Gitpod 工作区 VSCode 启动 live serve 截图
  3. 编辑器右侧会打开一个简单的浏览器。我们建议将其关闭,然后单击弹出窗口中的 Open in browser 按钮。

  4. 要停止服务器,请单击状态栏上的 Port: 5500 按钮。

选项 2:使用 rst 扩展#

一种查看 .rst 文件实时更改的快速简便方法是使用 rst 扩展和 docutils。

备注

这将生成一个简单的文档实时预览,没有 html 主题,并且可能不会正确添加某些反向链接。但它是一种无需构建 html 文件即可获得即时反馈的简便轻量级方式。

  1. 打开 doc/source 目录中的任意源文档文件进行编辑。

  2. 在 Mac 上使用 Cmd-Shift-P 或在 Linux 和 Windows 上使用 Ctrl-Shift-P 打开 VSCode 命令面板。输入 “restructured”,然后选择 “Open preview” 或 “Open preview to the Side”。

    Gitpod 工作区 VSCode 打开 rst 截图
  3. 在编辑文档时,您将在编辑器中看到其实时渲染效果。

    Gitpod 工作区 VSCode rst 渲染截图

如果您想看到使用 html 主题的最终输出,您需要使用 make html 重新构建文档,并使用选项 1 中描述的 Live Serve。

常见问题解答和故障排除#

我的 Gitpod 工作区会保留多久?#

停止的工作区将保留 14 天,之后如果没有使用将被删除。

我可以回到以前的工作区吗?#

是的,假设您离开了一段时间,但想继续为 pandas 做贡献。您需要访问 https://gitpod.io/workspaces 并点击您想要重新启动的工作区。您所有的更改都会保留在您上次离开时的状态。

我可以安装额外的 VSCode 扩展吗?#

当然可以!您安装的任何扩展都会安装在您自己的工作区中并被保留。

我已在 Gitpod 注册,但我的存储库中仍然没有出现 Gitpod 按钮。#

访问 https://gitpod.io/integrations 并确保您已登录。将鼠标悬停在 GitHub 上,然后点击右侧出现的三个按钮。点击 “Edit Permissions”,确保您已勾选 user:emailread:userpublic_repo。点击 Update Permissions,然后在 GitHub 应用程序页面上确认更改。

Gitpod 集成 - 编辑 GH 权限截图

如果我没有使用它,我的工作区会保持活动状态多久?#

如果您在浏览器标签页中保持工作区打开但没有与之交互,它将在 30 分钟后关闭。如果您关闭了浏览器标签页,它将在 3 分钟后关闭。

我的终端是空白的——没有光标,而且完全没有响应#

不幸的是,这是 Gitpod 方面的一个已知问题。您可以通过以下两种方式解决此问题:

  1. 完全创建一个新的 Gitpod 工作区。

  2. 访问您的 Gitpod dashboard 并找到正在运行的工作区。将鼠标悬停在上面,然后点击 三个点的菜单,然后点击 Stop。当工作区完全停止后,您可以点击它的名称重新启动它。

Gitpod 仪表板和工作区菜单截图

我已通过 GitHub 身份验证,但仍无法通过 Gitpod 提交到存储库。#

访问 https://gitpod.io/integrations 并确保您已登录。将鼠标悬停在 GitHub 上,然后点击右侧出现的三个按钮。点击 “Edit Permissions”,确保您已勾选 public_repo。点击 Update Permissions,然后在 GitHub 应用程序页面上确认更改。

Gitpod 集成 - 编辑 GH 存储库权限截图

致谢#

本页面部分内容改编自 NumPy 项目。