1

我在 Snow Leopard(10.6) 上玩 py2app,运行时遇到了一些问题

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'

我已经按照此处的文档安装了 py2app ,但是似乎有一些环境变量我没有设置。我还尝试克隆一些项目,比如这里的一个,我最终遇到了同样的错误。

有人可以指出我在使用前应该如何配置 py2app 的文档吗?谢谢。

4

2 回答 2

1

这是 py2app 中的一个错误,一个快速的解决方法:在 build_app.py 中(请参阅问题中的回溯以了解其位置)第 25 行将“sysconfig = None”更改为“from distutils import sysconfig”。

我已经在 py2app 的跟踪器 [1] 中提交了一个问题,并将很快发布一个新版本(一旦我有时间创建和测试补丁)。

[1] https://bitbucket.org/ronaldoussoren/py2app/issue/96/py2app-doesnt-work-with-python-26-anymore

于 2013-02-24T17:17:29.143 回答
1

py2app 文档很古老;你应该使用的是这里

正如您从粘贴的堆栈跟踪中看到的那样,某些东西正在distutils.sysconfig导致None. 看起来您正在使用 Python 和 distutils 的系统版本,它们在 10.6.8 上对我来说工作得很好:

% /usr/bin/python -c "from distutils import sysconfig; print sysconfig.get_config_var('PYTHONFRAMEWORK')"
Python

所以如果你得到与上面不同的结果,你可以从那里开始,否则你可以开始调试 py2app 代码,看看为什么sysconfigNone.

于 2013-02-23T03:43:29.057 回答