使用 Gitpod#

关于 Gitpod#

Gitpod 是一个基于浏览器的开发环境。

以下是使用 Gitpod 的一些好处

  • 绕过本地计算机配置和技术问题

  • 通过使用预配置的虚拟环境为开源项目做贡献来节省时间

  • 节省本地计算机上的空间

使用 Gitpod 为 PyMC 做出贡献#

这些说明是专门为 pymc-devs/pymc 代码仓库做出贡献而准备的。

Gitpod 工作流程#

  1. Fork pymc 代码仓库: pymc-devs/pymc

  2. 创建一个 Gitpod 账户。您可以使用您的 GitHub 账户登录并授权访问:https://gitpod.io/

    注意

    Gitpod 将在您的 GitHub 账户中显示为一个授权应用,位置在这里: settings/applications

  3. 授予 GitHub / Gitpod 集成权限。

    a) 前往:https://gitpod.io/user/integrations

    b) 选择 GitHub,然后点击 “编辑权限”

    c) 选择这些权限:user:email, public_repo, repo, workflow

    gitpod_integration

    Gitpod 集成选项#

  4. 在 Gitpod 中,创建一个 “新工作空间”。在这里您需要选择 fork 后的 pymc 代码仓库。如果您没有看到它,您可以将您 fork 的仓库路径粘贴到 “Context URL” 框中。例如:https://github.com/yourusername/pymc。然后选择 “新工作空间”。

    gitpod_workspace

    Gitpod 工作空间#

    注意

    Gitpod 将拉取一个容器并设置工作空间。容器构建需要几分钟时间。

  5. 一旦 Gitpod 启动并运行,其界面类似于 Visual Studio Code (VSC) 界面,它将在您的浏览器中显示。您将在终端窗口中看到安装通知。这可能需要 5-10 分钟。完成后,终端将指示您位于 Gitpod 上 “(base)” 环境中,并指向您 fork 的代码仓库。

    这是一个例子

    (base) gitpod@reshamas-pymc-0ygu5rf74md:/workspace/pymc$
    

    注意

    此工作环境已使用 micromamba 进行设置,它是一个小型的纯 C++ 可执行文件,具有足够的功能来引导完全可用的 conda 环境。

  6. 在终端中使用 git remote -v 检查您的 git 远程仓库是否正确。

    示例

    (base) gitpod@reshamas-pymc-0ygu5rf74md:/workspace/pymc$ git remote -v
    origin  https://github.com/reshamas/pymc.git (fetch)
    origin  https://github.com/reshamas/pymc.git (push)
    upstream        https://github.com/pymc-devs/pymc.git (fetch)
    upstream        https://github.com/pymc-devs/pymc.git (push)
    (base) gitpod@reshamas-pymc-0ygu5rf74md:/workspace/pymc$
    
  7. 在终端检查正在使用的 python 和 pymc 版本。

    检查 pymc 的版本:pip list | grep pymc

    示例

    (base) gitpod@reshamas-pymc-vpfb4pvr90z:/workspace/pymc$ pip list | grep pymc
    pymc                          5.1.0       /workspace/pymc
    pymc-sphinx-theme             0.1
    

    检查 python 的版本:python3 --version

    示例

    (base) gitpod@reshamas-pymc-vpfb4pvr90z:/workspace/pymc$ python3 --version
    Python 3.11.0
    
  8. 同步代码仓库

    确保您在正确的位置

    cd /workspace/pymc
    git checkout main
    

    同步代码仓库代码和版本标签:git pull upstream main --tags

    更新已安装的版本号:pip install -e .

    示例

    Obtaining file:///workspace/pymc
    Installing build dependencies ... done
    Checking if build backend supports build_editable ... done
    Getting requirements to build editable ... done
    Preparing editable metadata (pyproject.toml) ... done
    Requirement already satisfied: arviz>=0.13.0 in /opt/conda/lib/python3.11/site-packages (from pymc==5.1.1+303.g6f8f9eef) (0.15.1)
    ...
    Building editable for pymc (pyproject.toml) ... done
    Created wheel for pymc: filename=pymc-5.1.1+303.g6f8f9eef-0.editable-py3-none-any.whl size=11527 sha256=6211b7149b3ab09813b2badb3010f54d2d4ab014f75054d73f204ac5ea82ed82
    Stored in directory: /tmp/pip-ephem-wheel-cache-wmkfx8pd/wheels/73/bf/14/341b7fa040e9af1991e12077c13913921be3069fe3bdf78752
    Successfully built pymc
    Installing collected packages: pytensor, pymc
    Attempting uninstall: pytensor
    Found existing installation: pytensor 2.10.1
    Uninstalling pytensor-2.10.1:
      Successfully uninstalled pytensor-2.10.1
    Successfully installed pymc-5.1.1+303.g6f8f9eef pytensor-2.18.6
    

    检查正在使用的 PyMC 版本:python -c "import pymc; print(pymc.__version__)"

    示例

    (base) gitpod@reshamas-pymc-syxfrf90fp0:/workspace/pymc$ python -c "import pymc; print(pymc.__version__)"
    5.1.1+303.g6f8f9eef
    

提醒:Git 工作流程#

注意

在终端中,在开始工作之前,记得创建一个特性分支

git checkout -b feature-branch

在处理完文件后,遵循 Git 工作流程

  • git add file_name

  • git commit -m 'message'

  • git push origin feature-branch

资源#

Gitpod 注意事项#

账单#

Gitpod 免费计划目前每月允许 500 个免费积分,相当于 50 小时的标准工作空间使用时长。使用信息可以在 Gitpod 账单部分 找到。

注意

请务必查看 Gitpod 关于 工作空间删除 的政策,并了解更多关于

  • “启动” 和 “停止” 工作空间

  • “工作空间不活动”: 默认情况下,工作空间在 30 分钟没有用户输入(例如,按键或终端输入命令)后停止。您可以将工作空间超时时间增加到最多 24 小时。

  • 工作空间在 14 天后被删除。固定的工作空间永远不会自动删除。

  • 您可以从 Gitpod 仪表板的工作空间列表中固定一个工作空间。