我正在使用Snow Leopard上的py2app(10.6),当我跑步时遇到一些问题
python setup.py py2app
我收到以下错误: -
% python setup.py py2app
running py2app
Traceback (most recent call last):
File "setup.py", line 18, in <module>
setup_requires=['py2app'],
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/core.py", line 152, in setup
dist.run_commands()
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/dist.py", line 975, in run_commands
self.run_command(cmd)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/dist.py", line 995, in run_command
cmd_obj.run()
File "/Library/Python/2.6/site-packages/py2app-0.7.3-py2.6.egg/py2app/build_app.py", line 502, in run
if sysconfig.get_config_var('PYTHONFRAMEWORK') is None:
AttributeError: 'NoneType' object has no attribute 'get_config_var'
我按照文档here安装了py2app,但似乎有一些我没有设置的环境变量。我还尝试克隆了一些项目,比如here,我最终得到了同样的错误。
有人能指出我提到如何在使用之前配置py2app的文档吗?感谢。
答案 0 :(得分:1)
py2app文档很古老;你应该使用的是here。
正如您从粘贴的堆栈跟踪中看到的那样,某些内容导致distutils.sysconfig
成为None
。看起来你正在使用Python和distutils的系统版本,这对我来说在10.6.8上运行得很好:
% /usr/bin/python -c "from distutils import sysconfig; print sysconfig.get_config_var('PYTHONFRAMEWORK')"
Python
因此,如果您从上面得到不同的结果,您可以从那里开始,否则您可以开始调试py2app代码以查看sysconfig
为None
的原因。
答案 1 :(得分:1)
这是py2app中的一个错误,一个快速的解决方法:在第25行的build_app.py中(请参阅问题中的回溯位置)将“sysconfig = None”更改为“from distutils import sysconfig”。
我在py2app的跟踪器[1]中提交了一个问题,并且很快就会发布一个新版本(一旦我有时间创建和测试补丁)。
[1] https://bitbucket.org/ronaldoussoren/py2app/issue/96/py2app-doesnt-work-with-python-26-anymore