当我尝试安装 ruamel.yaml 时,它抛出以下错误:
---> Running in 71801483b5a1
Collecting ruamel.yaml
Downloading ruamel.yaml-0.17.21-py3-none-any.whl (109 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 109.5/109.5 kB 12.3 MB/s eta 0:00:00
Collecting ruamel.yaml.clib>=0.2.6
Downloading ruamel.yaml.clib-0.2.6.tar.gz (180 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 180.7/180.7 kB 21.5 MB/s eta 0:00:00
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'error'
[91m error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [3 lines of output]
sys.argv ['/tmp/pip-install-4z0awj5u/ruamel-yaml-clib_ebca93f6ff92409a86d7beb1a0f1b92c/setup.py', 'egg_info', '--egg-base', '/tmp/pip-pip-egg-info-odj056w3']
test compiling /tmp/tmp_ruamel_ua_v5oye/test_ruamel_yaml.c -> test_ruamel_yaml compile error: /tmp/tmp_ruamel_ua_v5oye/test_ruamel_yaml.c
Exception: command 'gcc' failed: No such file or directory
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
[0m[91merror: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
之前一直在工作。我正在使用 docker,下面是 Dockerfile 中使用的命令
RUN pip install ruamel.yaml
RUN pip install ruamel.yaml.jinja2
您收到该错误是因为未安装 C 编译器。您可以做的一件事是确保安装了编译器,以便它可以编译
ruamel.yaml.clib
依赖项。
您正在安装
ruamel.yaml
轮,但我不明白为什么它没有安装 ruamel.yaml.clib
的轮。这可能是由于架构或 Python 版本不适用于该架构造成的。
如果您的代码没有使用
YAML(typ='safe')
或任何其他实际使用 C 加载器的东西,那么您也可以这样做:
RUN pip install --no-deps ruamel.yaml
我正在使用 Docker 和 Nodejs alpine 镜像。我正在尝试为 TestRail 安装命令行界面,这个包是我的技术堆栈的依赖项。运行
apk add py3-ruamel.yaml
解决了我的问题。
页面供参考