Py2App - PyQt5 使用错误 port_v#

Py2App - PyQt5 using wrong port_v#

我正在构建一个用 PyQT5 制作的简单 GUI,在使用 py2app 进行开发构建期间一切正常。当我去构建 .app 文件时,我在 PyQt5 代码中遇到了崩溃:

  File "/usr/local/lib/python2.7/site-packages/PyQt5/uic/port_v3/ascii_upper.py", line 24, in <module>
_ascii_trans_table = bytes.maketrans(b'abcdefghijklmnopqrstuvwxyz',
AttributeError: type object 'str' has no attribute 'maketrans'

我已经将其追溯到似乎是 PyQt5 试图 运行 python 3 来自 port_v3 模块的代码,但是我在 2.7 中做所有事情,而且我无法弄清楚为什么它在构建应用程序的 PyQt 部分时尝试加载 Python 3。关于如何追踪此问题或解决方法的任何想法?

在四处挖掘并观察 py2app 花了很长时间之后,似乎试图将我机器上安装的每个模块打包为一个简单的应用程序,我完全放弃了 py2app。我改用了 pyinstaller,它的效果很好。快速构建,一切都与 python 2.7.13 和 PyQt5 的所有依赖项一起正常工作。

我知道这不是我关于 py2app 的原始问题的解决方案,但仍然解决了尝试捆绑 .app 文件的原始问题,所以其他人遇到 py2app 的这个问题,我建议尝试pyinstaller.