【问题标题】:playing around with py2app玩 py2app
【发布时间】:2013-02-25 01:17:29
【问题描述】:

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

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

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

【问题讨论】:

    标签: python macos py2app


    【解决方案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 代码,看看为什么sysconfigNone

    【讨论】:

      【解决方案2】:

      这是 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

      【讨论】:

      • 这为我解决了问题。谢谢:)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-09
      • 1970-01-01
      • 2011-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多