3

私は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

4

1 に答える 1

3

この特定の問題の解決策を見つけました!

PyOpenGLのバージョンについてです。Pyinstaller は PyOpenGL バージョン 3.0.1b1 で正常に動作します

http://sourceforge.net/projects/pyopengl/files/PyOpenGL/からダウンロードして 、自分でコンパイルできます。古い PyOpenGL バージョンを site-packages フォルダーから削除することを忘れないでください! 以下を実行しているシステムで PyOpenGL のアクティブなバージョンを確認できます。

>>>import pkg_resources
>>>pkg_resources.get_distribution("PyOpenGL").version
>>>'3.0.1b1'
于 2012-09-28T09:05:02.477 に答える