尝试用PyInstaller打包Python代码(使用了wxPython和pyOpenGL)的时候,遇到一系列的问题,汇总一下:
环境:
Win7 64-bit, PyInstaller 2.0, Python 2.7.5, wxPython 2.8.12.1, pyOpenGL 3.0.2
问题1:
PyInstaller打包成功,运行dist里生成的exe文件时,提示下面错误:
"... OpenGL.GLUT.special", line 322, in glutInit
TypeError: 'NoneType' object is not callable
原因:
pyOpenGL相关的DLL文件没有自动copy到exe所在的目录
解决办法:
把pyOpenGL的DLL文件 (通常在Lib\site-packages\OpenGL\DLLS下面), copy到exe所在目录
问题2:
PyInstaller打包成功,运行dist里生成的exe文件时,提示下面错误:

在Windows环境下使用PyInstaller 2.0打包包含wxPython 2.8.12.1和pyOpenGL 3.0.2的Python应用时,遇到了DLL缺失、版本不兼容和Publisher导入错误等问题。解决方案包括手动复制pyOpenGL的DLL文件到exe目录,降级到pyOpenGL 3.0.1b,以及解决wxPython中pubsub版本冲突问题。
最低0.47元/天 解锁文章
6022





