【问题标题】:Installing a specific version of python for github action为 github 操作安装特定版本的 python
【发布时间】:2021-02-06 11:00:36
【问题描述】:

我正在使用apache-beam[gcp]==2.19google-cloud-pubsub==1.2.0。这 2 个目前与 python 3.6.5 兼容。我正在使用 github 操作来运行测试和部署。 github 操作目前支持3.6.12。它拥有的最低版本是3.6.7。如何在 github 操作中下载 python 3.6.5 以运行 pytest

【问题讨论】:

  • 不熟悉 github 操作,但您可以使用所需的 python 版本创建一个 python 虚拟环境并针对它运行 pytests 吗?
  • 如果它在 github 操作上不可用,我将如何获得所需的 python。
  • 我已经发布了一个包含高级步骤的答案,可以满足您的需求。如果您在问题中包含您的工作流程文件,我很乐意提供有关步骤的更多详细信息。

标签: python python-3.6 google-cloud-dataflow apache-beam github-actions


【解决方案1】:

这需要很长时间才能运行,但您可以执行以下步骤:

  1. 在您的工作流程中添加一个步骤以安装pyenv。您还需要确保 shim 可用于您的 PATH。
  2. 在您的工作流程中添加一个步骤到pyenv install 3.6.5
  3. 然后检查您的存储库。
  4. 添加将本地 Python 版本设置为 3.6.5 的步骤:pyenv local 3.6.5
  5. 运行pytest

我预计第 1 步和第 2 步将耗时最长。如果您知道文件的存储位置,则可以通过永久缓存 pyenv 和 Python 3.6.5 来加快速度。我已经询问并回答了自己如何在工作流运行here之间永久缓存工具。

【讨论】:

  • 你有一个可以用于当前 github 操作的示例吗?
  • 有一个 pyenv-build 操作可以通过 pyenv 自动安装。文档包括示例工作流程(请务必将 uses: ...@v5 更改为 v8 或其最新版本)。构建 Python 确实需要大约 2 分钟,并且缓存它是有意义的。
猜你喜欢
  • 2021-12-21
  • 2012-02-09
  • 1970-01-01
  • 2013-10-21
  • 1970-01-01
  • 2020-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多