【问题标题】:PySide packaging error (macholib) python setup.py py2appPySide 打包错误 (macholib) python setup.py py2app
【发布时间】:2011-05-12 06:24:14
【问题描述】:

我对 Python 和 PySide 很陌生,并试图将一个非常简化的测试用例打包到一个独立的应用程序 OS X 中。我把测试放在了 github https://github.com/eerne/pyside-py2app-test

测试只打开一个 QWebView() 并加载 test.html,使用 python test.py 运行良好,但尝试使用 python setup.py py2app 打包时出错:

File "/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/macholib/MachO.py", line 180, in load
raise ValueError("Unknown load command: %d" % (cmd_load.cmd,))
ValueError: Unknown load command: 34
/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/macholib/MachO.py(180)load()
-> raise ValueError("Unknown load command: %d" % (cmd_load.cmd,))

有趣的是,它在 dist/test.app 中构建了一个应用程序,它可以在我的机器上运行,但不能在其他机器上运行。这里是完整的日志http://pastie.org/1891942

如果它是与 pyside 相关的问题、Qt 或我缺少 setup.py 的东西,我一无所知

其他不包含 PySide 包的测试很好,没有错误。所以我认为这与 Qt 或 PySide 相关。

此时,我正在寻找我可以询问的邮件列表的任何指针或建议。

【问题讨论】:

  • 还有一件事:我使用的是二进制文件,而不是从源代码构建 PySide 或 Qt。

标签: python qt packaging pyside py2app


【解决方案1】:

我猜你需要升级macholib。该加载命令(0x22)在版本here中定义,即开发版本。

【讨论】:

  • 您好,我在easy_install macholib==dev 之后进入下一步(这是推荐的安装方式吗?)。然后在另一个错误之后,我使用easy_install modulegraph 升级了模块图。现在打包时这是最新的错误NameError: global name 'chain' is not defined 查看完整日志pastie.org/1893135
  • 顺便说一句,我也尝试过easy_install modulegraph==dev,但它的版本号较低,似乎没有任何区别,所以我又回到了easy_install modulegraph
  • 终于搞定了!! build_app.py(位于/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python/py2app/)中似乎缺少from itertools import chain,请参阅Christopher Barker mail.python.org/pipermail/pythonmac-sig/2010-July/022491.html的评论
  • 修改System/Library/ 下的文件有点糟糕。其他人一定遇到了同样的问题,现在想知道有什么更好的方法来解决它。我太害怕搞砸了,但下次我会先尝试easy_install py2app。
  • 我同意。出于这些原因,我通常使用 --no-site-packages 在 vi​​rtualenv 中工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-02
  • 2020-10-24
相关资源
最近更新 更多