首页 > 解决方案 > 在 GitHub 操作中找不到已安装的包

问题描述

name: MyAction
on:
  workflow_dispatch
jobs:
  'myjob':
    runs_on: [self-hosted, linux]
    strategy:
      fail-fast: false
    steps:
    - uses: actions/checkout@v2
    - name: Set up Python Virt Env
      run: python -m venv venv
    - name: Install deps
      run: |
        source venv/bin/activate
        python -m pip install --upgrade pip
        cd mydir
        pip install -r requirements.txt
        pip install -e .
    - name: Do commands
      run: |
        source venv/bin/activate
        cd mydir
        mybinary

mybinary 是一个位于 venv/bin 中的文件,但找不到。

我检查了 PATH 并且它包含 venv/bin ,这就是我尝试使用 rehash 的原因,但没有成功。最有趣的是,如果我登录到节点并尝试使用 mybinary,我会用 ls 命令看到它,但不能使用。当我尝试执行它时,它显示“没有这样的文件”。即使我使用完整路径。

标签: pythongithubgithub-actions

解决方案


问题已解决。mybinary 文件的第一行有很长的 shebang。它是在从虚拟环境安装 Python 包期间创建的。根据 Linux 的限制,这个 shebang 是在 80 个符号上切割的,并且找不到这个切割路径。


推荐阅读