gpt4 book ai didi

python - 为 Leopard 和 Snow Leopard 编译 py2app 工作版本?

转载 作者:太空狗 更新时间:2023-10-30 00:12:20 29 4
gpt4 key购买 nike

我目前正在使我的 PyObjC 应用程序适用于 Snow Leopard,并且我成功地编译了一个独立的应用程序。我的问题是,鉴于这些错误,我如何使构建也与 Leopard 兼容?

dyld: lazy symbol binding failed: Symbol not found: _fopen$UNIX2003
Referenced from: /Applications/MyApp.app/Contents/MacOS/MyApp
Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _fopen$UNIX2003
Referenced from: /Applications/MyApp.app/Contents/MacOS/MyApp
Expected in: /usr/lib/libSystem.B.dylib

这是一个 Snow Leopard 编译的 py2app 应用程序。另外,另一方面,当我在 Leopard 上编译时,会发生此错误:

Traceback (most recent call last):
File "/Users/jofell/client/dist/MyApp.app/Contents/Resources/__boot__.py", line 31, in <module>
_run('main.py')
File "/Users/jofell/client/dist/MyApp.app/Contents/Resources/__boot__.py", line 28, in _run
execfile(path, globals(), globals())
File "/Users/jofell/client/dist/MyApp.app/Contents/Resources/main.py", line 17, in <module>
from AppKit import *
File "AppKit/__init__.pyc", line 10, in <module>
File "Foundation/__init__.pyc", line 10, in <module>
File "CoreFoundation/__init__.pyc", line 17, in <module>
File "objc/_bridgesupport.pyc", line 129, in initFrameworkWrapper
File "objc/_bridgesupport.pyc", line 53, in _parseBridgeSupport
ValueError: Unknown typestr
2009-08-29 19:30:14.530 MyApp[445:903] MyApp Error
2009-08-29 19:30:14.534 MyApp[445:903] MyApp Error
An unexpected error has occurred during execution of the main script

如有任何帮助,我们将不胜感激。提前致谢。

最佳答案

我最近做了这个,诀窍是在 Leopard 安装上构建一个独立 版本。

默认情况下,除非您安装了 Python 的开源版本,否则 py2app 会创建一个具有操作系统文件符号链接(symbolic link)的半独立应用程序。

相反,如果您创建应用程序的独立版本,则解释器和支持文件将嵌入到您的应用程序中,因此在运行您的应用程序的所有机器上都是一致的。有关创建完全独立应用程序的说明可用 here ,但请注意博客的评论,因为在撰写博文后有些事情确实发生了变化。

如果你有你需要的特定库,你可以在 setup.py 文件中引用它们,或者你可以随时手动将它们添加到 dylib 目录(这对我来说更容易,因为我需要更改启动脚本并且没有'不想重新生成),但请确保使用 32 位库(它将在 Leopard 上)。

关于python - 为 Leopard 和 Snow Leopard 编译 py2app 工作版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1351209/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com