1

我有一个 PySide/Phonon 应用程序(为 Windows 开发并在 Windows 上完美运行),我需要将其“移植”到 Mac OSX - 我没有任何开发经验。如果我只运行 Python 文件,该应用程序将按预期工作 - 当我尝试使用 py2app 打包它(我需要这样做)时会出现问题。

如果我将生成的 .app 保留原样,Phonon 将无法工作,因为它无法加载所需的 phonon_backend ;如果我将插件路径添加到 qt.conf,正如各种消息来源所暗示的那样,Phonon 似乎已加载(也就是说,我不再收到相应的错误消息),但我开始收到“某某库已加载”两次,将使用一个,其中一个是未定义的”错误,应用程序立即崩溃。

最后,如果我尝试使用 macdeploy_qt 工具,我会收到一条“没有外部框架”的消息,结果在功能上与我不使用该工具时得到的结果相同,只是相关目录中还有一些插件.

任何想法/指针/教程/等?顺便说一句,我正在使用 PySide1.1.1 for Qt4.7,以及 Python.org python 二进制文件(否则 py2app 似乎甚至无法开始构建独立应用程序)。

4

1 回答 1

3

我建议你像本教程中那样做。

然后,您只需在主模块顶部的某处添加以下行:

QApplication.setLibraryPaths([os.path.join(os.environ['_MEIPASS2'], 'qt4_plugins'), os.environ['_MEIPASS2'] ])

对于 PyInstaller >1.5,应使用以下代码:

QApplication.setLibraryPaths([os.path.join(sys._MEIPASS, 'qt4_plugins'), sys._MEIPASS])
于 2012-09-24T10:33:14.823 回答