python - 无法安装 python 包并在 GitHub Action 中使用它

标签 python pip github-actions

我有一个GitHub Repo使用简单的 GitHub Actions 工作流程:

name: CI

on: [push]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v1
    - name: Run a one-line script
      run: echo Hello, world!
    - name: Run a multi-line script
      run: |
        echo Add other actions to build,
        echo test, and deploy your project.
        pip install twine
        twine --help

当我运行它时,它会安装 twine,但是 fails运行它,说找不到命令:

...
Successfully installed Pygments-2.5.2 bleach-3.1.0 certifi-2019.11.28 chardet-3.0.4 docutils-0.15.2 idna-2.8 pkginfo-1.5.0.1 readme-renderer-24.0 requests-2.22.0 requests-toolbelt-0.9.1 setuptools-42.0.2 six-1.13.0 tqdm-4.40.0 twine-1.15.0 urllib3-1.25.7 webencodings-0.5.1
/home/runner/work/_temp/1643cb1d-8b12-4aa8-8e1d-bd5bba60fd5b.sh: line 4: twine: command not found

我怎样才能让它发挥作用?

提前致谢。

我已经知道现有的使用 twine 的 GitHub 操作,它们没有做我想要的事情。我也知道我可以 fork 一个操作并修改它,但我真正想知道的是,如果我可以运行 echo hello world 为什么我不能运行 pip install some-pkg ;一些-pkg ...

看来不是路径问题。我尝试使用python -m twine代替twine。我尝试运行 find 命令来查找计算机上名称中包含 twine 的所有文件(但没有找到任何文件)。

最佳答案

不确定这是否能解决问题,但无论如何强烈建议这样做。使用官方actions/setup-python准备环境的行动。

    steps:
    - uses: actions/checkout@v1
    - uses: actions/setup-python@v1
    - name: Run a one-line script
      run: echo Hello, world!
    - name: Run a multi-line script
      run: |
        echo Add other actions to build,
        echo test, and deploy your project.
        pip install twine
        twine --help

关于python - 无法安装 python 包并在 GitHub Action 中使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59207134/

相关文章:

python - Docker如何将python 3.8设为默认

python - 如何在 IIS 上为 Python2.7 正确安装 isapi_wsgi?

python - 巨大的排列对象集(Python 或 R 中)

python - 使用 pip 安装 python 包的开发版本,但具有稳定的依赖项

python - 使用 get-pip.py 时 pip 安装在哪里?

Github 操作错误地认为变量是 secret ,因此不设置输出

github - 如何在多个存储库中使用GitHub Actions并部署到GitHub Pages?

github - 是否可以直接下载 Github-Actions Artifact ?

python - 如何维护长期存在的 python 项目 w.r.t.依赖项和 python 版本?

python - python3-mock 和 unittest.mock 有什么区别?