系统信息
Windows 7, 64位 - 所有软件均为32位版本,以下是使用的软件包:
- Python 2.7.3 通过Python(x,y) 2.7.3.1安装
- Qt 4.8.2
- PySide 1.1.2
- NumPy 1.6.2
- Pywin32 218-1
Exe转换程序
- PyInstaller 2.0
- cx_Freeze 4.3.1-1
- py2exe 0.6.9
py2exe err.Log
Traceback (most recent call last):
File "myApp.pyw", line 11, in <module>
File "PySide\QtGui.pyc", line 12, in <module>
File "PySide\QtGui.pyc", line 10, in __load
ImportError: DLL load failed: The specified procedure could not be found.
cx_freeze 错误日志
Traceback (most recent call last):
File "C:\Python27\Lib\site-packages\cx_Freeze\initscript\Console.py",
line 27, in <module>
exex code in m.__dict__
File "myApp.pyw", line 11, in <module>
File "ExtensionLoader_PySide_QtGui.py", line 11, in <module>
ImportError: DLL load failed: The specified procedure could not be found.
提示信息: MyApp.pyw的第11行 = from PySide import QtGui, QtCore
PyInstaller错误日志
"The application has failed to start because its side-by-side configuration is
incorrect. Please see the application event log or use the command-line sxstrace.exe
tool for more detail."
我能找到的最接近的是这里,但我没有使用那个库,所以我不认为它适用,也不知道如何解决。
关于PyInstaller错误的SxsTrace片段
INFO: Reference: Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32 ",version="9.0.21022.8"
我尝试过的方法
将"C:\Python27\Lib\site-packages\PySide"放在环境变量路径的开头
将msvcr90.dll、msvcp90.dll和msvcm90.dll的副本放入Python/dll位置:我相信只有msvcp90.dll允许py2exe制作一个可操作的PyQt4 exe
使用pyside-rcc重新制作所有qrc资源文件
将所有pyside/dlls放入dist文件夹(py2exe)
在PyInstaller错误上运行sxstrace并生成日志文件 - 不确定我在寻找什么,我没有看到任何事件查看器或消息框没有告诉我的东西(只是更多的信息)
重新安装所有python/modules、pyqt、pyside、VSE2008 C++版本、微软SDK、微软.netframe work 2.0?、Microsoft Visual C++ 2008 Redistributable Package
移植所有未完成的模块,这些模块不需要打包但在目录中
删除任何未成功移植/未连接的WIP模块
将qt.conf(似乎只有pyqt4才有?)和插件手动复制到dist文件夹中
appchooser
示例,使用几乎相同的 PySide/Qt/Python 设置,没有遇到任何问题。 - Austin Phillips<!--<dependentAssembly> <assemblyIdentity name="Microsoft.VC90.MFC" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b" type="win32" version="9.0.21022.8"/> </dependentAssembly>-->
- frmdstryr