我在 Python 3.x 中使用 yaml (PyYAML 3.11) 库时遇到问题。当我调用 import yaml 时,出现以下错误:

Python 3.4.3+ (default, Oct 14 2015, 16:03:50)
[GCC 5.2.1 20151010] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import yaml
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/mlohr/python-libs/yaml/__init__.py", line 2, in <module>
    from error import *
ImportError: No module named 'error'
error 是位于 yaml 目录中的文件,但来自 yaml 的 __init__.py 确实使用绝对导入。我想这就是问题所在,但我#不确定。

http://pyyaml.org/wiki/PyYAMLDocumentation#Python3support 中是关于(假设)Python 3 支持的一条捷径,所以我不确定我是否以错误的方式使用它。

使用 yaml 将 Python 3 与 Python 脚本结合使用时,会发生同样的问题(这就是我发现问题的方式)。

使用 Python 2.7 和 2.6,它可以毫无问题地工作。

任何想法/建议如何让它工作?

最佳答案

看起来您要么使用旧版本的 PyYAML 毕竟要么使用 Python2 安装的 PyYAML 和 Python3 如 other answer 中所建议的那样,因为在您的回溯中我们看到

from error import *

这不是绝对的进口。您应该在您的环境中使用 Python3 源升级、重新安装 PyYAML,或者为 Python3 包创建一个新环境。

关于python - 带有 Python 3.x 的 PyYAML,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36055100/

10-11 01:36