python - 在 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 命令看到它,但不能使用。当我尝试执行它时,它显示“没有这样的文件”。即使我使用完整路径。
解决方案
问题已解决。mybinary 文件的第一行有很长的 shebang。它是在从虚拟环境安装 Python 包期间创建的。根据 Linux 的限制,这个 shebang 是在 80 个符号上切割的,并且找不到这个切割路径。
推荐阅读
- angular - 在 AngularJs 中选择列表
- woocommerce - WooCommerce 自定义产品选项卡:不要显示在某些产品页面上
- java - 如何将 Java 项目从 IntelliJ IDEA 保存到 Git 存储库,以便克隆后在另一台 PC 上构建?
- node.js - 带有回调问题的 AWS Lambda 承诺
- finite-element-analysis - Tetgen中节点和面的边界标记
- asp.net-mvc - Okta 登录请求过期
- javascript - 如何检查具有特定值的div是否重复,然后在jQuery中隐藏重复的div
- angular - 路由器插座不渲染
- r - 运行线性回归模型方程的 REML 代码错误
- php - 在 PHP 中,我想在我的数据库日期列(时间戳类型)中按日期过滤我的数据