我有一个PySide / Phonon应用程序(在Windows上开发并完美运行)我需要“移植”到Mac OSX - 我没有任何开发经验。 如果我只是运行Python文件,应用程序会按预期工作 - 当我尝试使用py2app打包它(我需要这样做)时会出现问题。
如果我按原样保留生成的.app,Phonon不起作用,因为它无法加载所需的phonon_backend;如果我将插件路径添加到qt.conf,正如各种来源所示,Phonon似乎加载(也就是说,我不再得到相应的错误消息),但我开始得到“某某某某库已加载”两次,一次将被使用,哪一次未定义“错误,应用程序立即崩溃。
最后,如果我尝试使用macdeploy_qt工具,我会收到“无外部框架”效果的消息,结果在功能上等同于我在不使用该工具的情况下获得的结果,除了还有一些插件相关目录。
任何想法/指针/教程/等?顺便说一下,我正在使用PySide1.1.1进行Qt4.7,而Python和python二进制文件也是如此(否则py2app甚至无法开始构建一个独立的应用程序)。
答案 0 :(得分:3)
我建议你像in this tutorial一样。
然后你只需要在主模块顶部的某处添加以下行:
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])