我在Python 3.x中使用yaml(PyYAML 3.11)庫時出現問題。當我打電話import yaml
我得到以下錯誤:PyYAML和Python 3.x
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腳本使用Python 3時,會發生同樣的問題(這是我發現問題的方式)。
使用Python 2.7和2.6,它沒有問題。
任何想法/建議如何得到這個工作?
您是如何安裝PyYAML的?點子?的setup.py?壓縮包?你用sudo權限安裝它嗎? – larsbutler
你的回溯提示你實際上有一個PyYAML的舊版本,因爲'from error import *'不是絕對導入(就像你說的PyYAML 3.11使用的那樣)。 –
您使用2.x安裝並從PyYAML 3.11獲得了源代碼的2.x版本,如果使用3.x安裝,則會得到不同的源代碼。 – Anthon