题
我有py2exe一个标准的安装脚本与我捆绑基于PyQt的应用程序到Windows .exe文件。
今天我试着使用了PyQwt模块的简单脚本,它似乎并没有工作。 py2exe运行正常的,但是当我执行它创建的。exe,它转储以下到一个日志文件,并且不运行:
Traceback (most recent call last):
File "qwt_test.pyw", line 5, in <module>
File "zipextimporter.pyo", line 82, in load_module
File "PyQt4\Qwt5\__init__.pyo", line 32, in <module>
File "zipextimporter.pyo", line 98, in load_module
ImportError: MemoryLoadLibrary failed loading PyQt4\Qwt5\Qwt.pyd
当我看在PyQt4\Qwt5\
目录build\bdist.win32\winexe\collect-2.5
,Qwt.pyd
肯定是有
我似乎无法找到任何关于此错误的有用的在线。这是什么原因呢?感谢。
解决方案
py2exe是不是唯一的方法,也许不是最好的方法,把exe文件一起Python应用程序 - 尤其是,它几乎如果在所有支持的PyQt。拜托,我求求你,请 PyInstaller ,它不知道PyQt的(以及Linux和Mac,应你在乎...) - 只要确保你使用SVN头结账,而不是“释放”的版本,在这个时候是严重过时(这是有希望很快消失的问题...)的
其他提示
一些选项:
- 尝试与py2xe
bundle_files options
(3,2,1)(特别是如果你把他们都在一个大图书馆拉链,某些DLL不喜欢)播放。 - 请在windows下一定存在
msvcp71.dll
副本\ SYSTEM32或在你的可执行文件的目录。 - 尝试排除的dll明确地(添加Qwt.pyd到
dll_excludes
选项(建成后)复制Qwt.pyd(和_Qwt.pyd如果存在的话)到你的可执行文件的路径。
醇>
不隶属于 StackOverflow