17

私はゲームプログラミングの基本を学ぼうとしていますが、そのためにインストールpygamepyopenglました。

MyCode:

import sys
import OpenGL

from OpenGL.GL import *     
from OpenGL.GLU import *    
from OpenGL.GLUT import *

def draw():
      glClear(GL_COLOR_BUFFER_BIT)
      glutWireTeapot(0.5)
      glFlush()

glutInit(sys.argv)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB)
glutInitWindowSize(250, 250)
glutInitWindowPosition(100, 100)
glutCreateWindow("Python OGL Program")
glutDisplayFunc(draw)
glutMainLoop()

draw()

コマンドプロンプトで上記のコードを実行すると、

python test.py

次のエラーが発生します。

Traceback (most recent call last):
  File "test.py", line 13, in <module>
    glutInit(sys.argv)
  File "C:\Python27\lib\site-packages\pyopengl-3.0.2a5-py2.7.egg\OpenGL\GLUT\special.py", line 324, in glutInit
    _base_glutInit( ctypes.byref(count), holder )
TypeError: 'NoneType' object is not callable

このエラーが発生する理由がわかりません。私glutinitは間違った方法で電話をかけていますか?

Python2.7.2を使用しています。

4

10 に答える 10

13

Windows 764ビットでPython2.7.3を使用していましたが、Noobと同じ症状を引き起こす問題がありました。

しかし、上記のPyOpenGL再インストールソリューションは役に立ちませんでした。

私はロングショットを試してみました-freeglutのインストール-そしてそれは役に立ちました!

ここからWindowsMSVC2.8.0バイナリパッケージを使用し、32ビットと64ビットの両方のDLLを32ビット(c:\ Windows \ SysWOW64)と64ビット(C:\ Windows \ System32)のディレクトリにドロップしました。

于 2012-05-29T10:59:28.550 に答える
7

setup.py install(管理者権限付き)を使用してPython 3.2にPyOpenGL-3.0.2b2をインストールしましたが、OPと同じエラーが発生しました。セットアップスクリプトはDLLSフォルダーをコピーしなかったため、フォルダー全体\ PyOpenGL-3.0.2b2 \ OpenGL\DLLSを自分でコピーする必要があります。 これは私のために働いた、それが他の誰かを助けることを願っています。

于 2012-08-27T23:04:25.813 に答える
5

Linux OSでは、 ubuntu12.04 にfreeglut3をインストールする必要があります。

 sudo apt-get install freeglut3
于 2012-11-13T11:39:18.143 に答える
4

pyOpenGLと一緒にglutまたはfreeglutをダウンロードする必要があるようです。そして最も重要なことは、私の64ビットWin7システムでは、glut32.dllファイルを配置したときにのみ機能しましたC:\Windows\System(そうではありませんC:\Windows\System32-配置は\System32機能しませんでした!)

過剰生産へのリンクは次のとおりです:http://user.xmission.com/~nate/glut.html

そしてfreeglut:http ://www.transmissionzero.co.uk/software/freeglut-devel/

于 2012-06-29T12:38:49.780 に答える
4

同じ正確な問題が私にも起こっていました。私はWindowsXP32ビットでPython2.7を使用しています。

解決:

http://user.xmission.com/~nate/glut.htmlからglut-3.7.6-bin.zipをダウンロードし、解凍して、glut32.dllC:\ windows\system32に配置するだけで問題ありません。

于 2012-09-23T14:24:48.623 に答える
3

glutInit()2つの引数が必要です。最初はコマンドライン引数の数としてint、次に(引数の)リストです。モジュールsysに
glutInit(len(sys.argv),sys.argv)はないので実行する必要があります。argc

于 2012-04-17T09:58:52.040 に答える
1

問題は私のPyOpenGLインストールにありました。以前、を使用してインストールしましたeasy_install

したがって、@ Ferdinandが示唆したように、pyopenglのインストールに問題があるようです。

を使用してクリーンインストールを実行しましたがpython setup.py install、機能しました。

于 2012-04-21T11:03:38.010 に答える
1

Python2.764ビットウィンドウでも同様の問題が発生しました。http://www.lfd.uci.edu/~gohlke/pythonlibs/からpyOpenGLパッケージをインストールします。これを維持してくれたChristopherGohlkeに感謝します!!

于 2013-07-11T05:58:06.407 に答える
0

Windows-64ビットでpython2.7.3を使用しているだけで、問題が発生しました。非公式のpyopenglパッケージを使用して解決しました。アーティカルから、公式パッケージは64ビットウィンドウをサポートしていないようです。 http://codeyarns.com/2012/04/27/pyopengl-installation-notes-for-windows/

于 2013-03-14T08:52:53.317 に答える
0

これは、PyOpenGLwin32インストーラーのバグのようです。ソースパッケージ(.zip)からDLLSディレクトリをコピーすることになっていますが、私のテストではコピーできません。これはPyOpenGL自体で対処する必要があり、次のベータ版で対処します。

それまでの間、OpenGL/DLLSディレクトリをPyOpenGL3.1.0b2ソース.zipからsite-packages/OpenGLディレクトリにコピーして、システムディレクトリにインストールせずにGLUTおよびGLEDOLをインストールできます。

于 2014-04-02T19:46:45.763 に答える