python - 无法使用pyyaml加载CLoader

标签 python pyyaml

我正在使用 pyyaml 开发一个 python 项目。我需要在基于 bitnami/minideb:jessie 的 Docker 容器中运行它。 Python 版本为 2.7.9。 原始代码使用的是 CLoader,我目前无法更改它。 CLoader 无法加载但 Loader 正常的任何原因?

>>> import yaml
>>> yaml.__version__
'3.12'
>>> from yaml import Loader
>>> from yaml import CLoader
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name CLoader
>>>

我不知道我在这里遗漏了什么。有什么想法吗?

然后从 Docker 镜像 python:2.7.9 运行它不会引发任何错误:

$ docker run -ti python:2.7.9 bash
#/ python
>>> from yaml import CLoader
>>> from yaml import Loader
>>>

最佳答案

默认情况下,setup.py脚本会检查是否安装了LibYAML 如果是,则构建并安装 LibYAML 绑定(bind)。

这是编译和安装 CLoader 的最低要求。

FROM ubuntu:20.04
RUN apt-get update && apt-get install -y \
    python3 python3-dev python3-pip gcc libyaml-dev
RUN pip3 install pyyaml
# verify
RUN python3 -c "import yaml; yaml.CLoader"

关于python - 无法使用pyyaml加载CLoader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47715566/

相关文章:

python - Ubuntu18.04(Virtualbox) 上滑动背景的问题

python - 使用 PyYAML 有选择地转储对象属性

python - 在 Python 中,如何使用不使用 YAML 标记的数据绑定(bind)来解析 YAML?

python 正则表达式匹配行开头定义的单词与其他行中定义的单词之间的所有内容

python - 如何在正则表达式中找到重叠模式?

python - Pandas:对一些数据进行分组

python - 使用 KernelExplainer(SHAP 工具)进行 Pipeline 和多类分类

yaml - Python : Read information from . yaml

python - 如何配置 YAML 以创建新的日志文件而不是附加它们?

python - pyyaml 加载数为十进制