我创建了一个使用pywin32的简单程序。我想把它部署为可执行文件,所以我py2exe了它。我也不需要太多的文件,所以我将bundle_files
设置为1(意味着将所有内容捆绑在一起)。但是,当我尝试运行它时,我得到:
Traceback (most recent call last):
File "pshelper.py", line 4, in <module>
File "zipextimporter.pyc", line 82, in load_module
File "win32.pyc", line 8, in <module>
File "zipextimporter.pyc", line 98, in load_module
ImportError: MemoryLoadLibrary failed loading win32ui.pyd
在我的安装脚本中,我尝试将packages=["win32ui"]
和includes=["win32ui"]
作为选项,但这没用。如何让py2exe包含win32用户界面?在
如果我不要求它打包文件,我就不会有这个问题,所以我现在可以这么做,但是我想知道如何让它正常工作。在
到目前为止效果最好的解决方法是简单地使用ctypes重新实现pywin32函数。这不需要另一个.pyd或.dll文件,因此可以避免这个问题。在
要不要试试PyInstaller?我在Windows7和Ubuntu10.04上都用过它,而且它的工作原理很神奇,即使我在Windows上编译为.pyd。在
我已经能够捆绑我用它开发的各种应用程序。在
你确定问题是win32吗用户界面.pyd不包括在内?堆栈跟踪与wiki中提到的不完全相同,但请查看以下内容:http://www.py2exe.org/index.cgi/Py2exeAndWin32ui。在
相关问题 更多 >
编程相关推荐