用PyInstaller生成的pyOpenGL exe提供了属性

2024-06-16 12:07:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图将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


Tags: inpybuildmodlinepyzfilewin32
1条回答
网友
1楼 · 发布于 2024-06-16 12:07:37

我找到了解决这个问题的办法!在

它是关于PyOpenGL版本的。Pyinstaller可以很好地与PyOpenGL版本3.0.1b1配合使用

您可以在此处下载: http://sourceforge.net/projects/pyopengl/files/PyOpenGL/自己编译。别忘了从site packages文件夹中删除旧的PyOpenGL版本!您可以在执行以下操作的系统上检查PyOpenGL的活动版本:

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

相关问题 更多 >