我在 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/