当尝试使用 PyQt4 从 Python 3 脚本构建 .exe 文件时,这是一个非常烦人的问题。我认为这与使用有关uic
动态加载模块.ui
files.
cx_freeze
返回:
File "E:\Python32_32\lib\site-packages\cx_Freeze\finder.py", line 366, in _LoadModule
module.code = compile(codeString, path, "exec")
File "E:\Python32_32\lib\site-packages\PyQt4\uic\port_v2\load_plugin.py", line 41
except Exception, e:
^
SyntaxError: invalid syntax
我前段时间已经解决了这个问题,但最近又遇到了。在网上寻找解决方案并不容易,所以我决定在 SO 上发布问答。希望它不仅对我有帮助:-)。
问题其实在于cx_freeze
尝试使用uic
Python 2(而不是 3)的子模块在其中一个文件中遇到与 Py3 不兼容的语法。解决方案非常简单:
Find uic
目录,它应该位于your_python_dir\Lib\site-packages\PyQt4\uic
。那里有两个目录:port_v2
and port_v3
。重命名第一个,例如port_v2_
。我认为使用 Python2-rename 时也会出现类似的问题v3
然后。无论如何,这都会导致cx_freeze
找到合适的版本uic
并且脚本应该正确构建。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)