我正在使用zc.buildout,当我尝试运行bootstrap时(第一次在新计算机上运行),我收到以下错误:
>> python2.7 bootstrap.py
Traceback (most recent call last):
File "bootstrap.py", line 158, in <module>
import pkg_resources
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/../../Extras/lib/python/pkg_resources.py", line 698, in <module>
class Environment(object):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/../../Extras/lib/python/pkg_resources.py", line 701, in Environment
def __init__(self, search_path=None, platform=get_supported_platform(), python=PY_MAJOR):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/../../Extras/lib/python/pkg_resources.py", line 99, in get_supported_platform
plat = 'macosx-%s-%s' % ('.'.join(_macosx_vers()[:2]), m.group(3))
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/../../Extras/lib/python/pkg_resources.py", line 209, in _macosx_vers
_cache.append(mac_ver()[0].split('.'))
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/platform.py", line 803, in mac_ver
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/platform.py", line 780, in _mac_ver_xml
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plistlib.py", line 78, in readPlist
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plistlib.py", line 406, in parse
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plistlib.py", line 418, in handleEndElement
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plistlib.py", line 452, in end_key
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plistlib.py", line 436, in getData
LookupError: unknown encoding: ascii
有没有人见过这个或知道如何修复它?它似乎与获取当前版本的操作系统有关。我的操作系统是Mac 10.8.2。
谢谢!
答案 0 :(得分:2)
检查/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
是否包含未填写的模块(* .py)。它们默认缺失,这就是问题所在。
答案 1 :(得分:2)
正如Vitaly回答的那样,问题确实是/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/
中缺少原始.py文件(干净安装中只有.pyc文件)。具体来说,这些文件必须存在才能使bootstrap.py成功:
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/encodings/__init__.py
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py
您可以从virtualenv或其他计算机上复制它们。
答案 2 :(得分:2)
安装Xcode命令行工具为我解决了这个问题,虽然我无法解释原因。您可以在
下从Xcode安装这些Preferences -> Downloads
答案 3 :(得分:1)
这似乎只是Mountain Lion的问题,并且只有在你的python上安装了新的(或报告似乎表明)。
解决方法是使用-S
开关运行python:
python2.7 -S bootstrap.py
或创建virtualenv,然后使用virtualenv python运行bootstrap.py
脚本。