python - 使用 PyInstaller 制作的 pyOpenGL exe 给出属性错误

标签 python wxpython pyopengl pyinstaller

我正在尝试将 pyOpenGL 示例中的 lesson18.py 制作成一个 exe,但在编译时出现此错误:

Traceback (most recent call last):
  File "<string>", line 46, in <module>
  File "C:\pyinstaller-1.5.1\iu.py", line 436, in importHook
    mod = _self_doimport(nm, ctx, fqname)
  File "C:\pyinstaller-1.5.1\iu.py", line 521, in doimport
    exec co in mod.__dict__
  File "pyinstall\build\pyi.win32\lesson18\outPYZ1.pyz/OpenGL.GL", line 3, in <m
odule>
  File "C:\pyinstaller-1.5.1\iu.py", line 436, in importHook
    mod = _self_doimport(nm, ctx, fqname)
  File "C:\pyinstaller-1.5.1\iu.py", line 521, in doimport
    exec co in mod.__dict__
  File "pyinstall\build\pyi.win32\lesson18\outPYZ1.pyz/OpenGL.GL.VERSION.GL_1_1"
, line 10, in <module>
  File "C:\pyinstaller-1.5.1\iu.py", line 477, in importHook
    mod = self.doimport(nm, ctx, ctx+'.'+nm)
  File "C:\pyinstaller-1.5.1\iu.py", line 521, in doimport
    exec co in mod.__dict__
  File "pyinstall\build\pyi.win32\lesson18\outPYZ1.pyz/OpenGL.arrays", line 22,
in <module>
  File "pyinstall\build\pyi.win32\lesson18\outPYZ1.pyz/OpenGL.arrays.formathandl
er", line 28, in loadAll
  File "pyinstall\build\pyi.win32\lesson18\outPYZ1.pyz/OpenGL.arrays.formathandl
er", line 35, in loadPlugin
  File "pyinstall\build\pyi.win32\lesson18\outPYZ1.pyz/OpenGL.plugins", line 14,
 in load
  File "pyinstall\build\pyi.win32\lesson18\outPYZ1.pyz/OpenGL.plugins", line 28,
 in importByName
  File "C:\pyinstaller-1.5.1\iu.py", line 436, in importHook
    mod = _self_doimport(nm, ctx, fqname)
  File "C:\pyinstaller-1.5.1\iu.py", line 521, in doimport
    exec co in mod.__dict__
  File "pyinstall\build\pyi.win32\lesson18\outPYZ1.pyz/OpenGL.arrays.vbo", line
430, in <module>
AttributeError: 'module' object has no attribute 'GL_READ_WRITE'
Press any key to continue . . .

所有使用 pyOpenGL 的程序(包括我自己的程序)都会出现这种情况,错误是相同的。

是否有任何额外的技巧(导入等)来使用 pyInstaller 制作可运行的可执行文件(我知道有 py2exe,但我更喜欢 pyInstaller)?

我的python版本是2.7 pyOpenGL 版本:3.0.2a5 pyinstaller 版本:1.5.1

最佳答案

我找到了解决这个特定问题的方法!

它是关于 PyOpenGL 版本的。 Pyinstaller 与 PyOpenGL 版本 3.0.1b1 配合良好

您可以在这里下载: http://sourceforge.net/projects/pyopengl/files/PyOpenGL/并自己编译。不要忘记从站点包文件夹中删除旧的 PyOpenGL 版本!您可以在执行以下操作的系统上检查 PyOpenGL 的事件版本:

>>>import pkg_resources
>>>pkg_resources.get_distribution("PyOpenGL").version
>>>'3.0.1b1'

关于python - 使用 PyInstaller 制作的 pyOpenGL exe 给出属性错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11011373/

相关文章:

c++ - 一组线性点的高效最长算术级数

python - 禁用滚动条的滚动,同时保持其在 wxPython 中可见

python - 自托管 Sphinx 文档中的多个版本

python - Matplotlib:检查是否未定义显示

python - wxPython:从文件绘制基于矢量的图像

python - PyOpenGL - 当某些场景元素需要消失时更新三角形数组

python - opengl中如何用线连接多个点?

python - glBufferSubData 不起作用,不显示错误

python - djangorest框架用户注册

python - wxPython 列表框的键盘接口(interface)