尝试运行 python pip 时 Bash 脚本出现错误

尝试运行 python pip 时 Bash 脚本出现错误

我使用以下 Dockerfile 创建了自定义 GitHub Action:

FROM python:3
RUN pip install --upgrade pip
RUN pip install flake8 mypy isort
COPY entrypoint.sh /
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]

entrypoint.sh文件非常简单:

#!/bin/bash

...

$(python3 -m pip install -r $9 --no-cache-dir)

...

上面有问题的一行给出了一个错误:

/entrypoint.sh: line 44: Collecting: command not found

GitHub Action 完成得很好,即使该行引发此错误,它仍会执行。有人知道为什么会发生这种情况以及如何解决这个问题吗?


尝试的解决方案 #1:

将该行更改pip为会出现错误,提示未安装,并且整个工作流程无法完成,而之前它毫无问题地完成。pip3pip3

答案1

该命令python3 -m pip install -r $9 --no-cache-dir确实运行良好。

它的输出可能以此开头:

Collecting PACKAGE_NAME

但是您没有看到这一点,因为出于某种原因,您用 包装了它$(),这意味着“不显示输出,执行它”。

并且Collecting不是一个命令,这就是它未被找到的原因!

相关内容