🗽

Windows11にPyOpenGLをインストールする

2022/08/13に公開

Windows11にPyOpenGLをインストールする手順

Windows11にPyOpenGLをインストールする手順メモです。
pip install xxxでインストールできたのですが、スクリプトを実行するとgluがうんたら(←忘れた)とエラーがでてスクリプトが実行できない現象が発生。ネットをさまよいようやくエラーの発生しない方法がわかったのでその手順を忘れる前にメモします。

参考

手順はこちらの動画で紹介されていました。私は英語力ゼロですが自動翻訳でなんとかなりました。

https://www.youtube.com/watch?v=a4NVQC_2S2U

環境

Windows11環境で実施しました。Pythonは64bit版です。

PS C:\> python --version
Python 3.9.5
PS C:\> pip --version
pip 22.1.2 from c:\users\usr\.pyenv\pyenv-win\versions\3.9.5\lib\site-packages\pip (python 3.9)

手順

手順0.(オプション)PyOpenGLをアンインストールする

pip install xxxでインストールしている場合、まずはそれをアンインストールします。

pip uninstall PyOpenGL
pip uninstall PyOpenGL-accelerate

pip listコマンドでPyOpenGL,PyOpenGL-accelerateが表示されなければアンインストール成功です。

PyOpenGLとPyOpenGL-accelerateがインストールされてる状態
PS C:\> pip list
Package               Version
--------------------- --------
	:
PyOpenGL              3.1.6
PyOpenGL-accelerate   3.1.6
	:

手順1.Pythonのバージョン確認

PyOpenGLをインストールする環境のPythonのバージョンを確認します。この情報は次の手順で必要になります。

PS C:\> python --version
Python 3.9.5

手順2.PyOpenGLモジュールをダウンロードする

https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyopengl でPyOpenGLのモジュールを2つダウンロードします。

  • ダウンロードするモジュール2種
    • PyOpenGL-XXXXXX.whl
    • PyOpenGL_accelerate-XXXXXXX.whl

上記の XXXXXXX の箇所を、手順1で確認したバージョン情報をもとに決定します。
参考資料(YouTube動画)によると、cpXXがPythonのバージョン情報に関係してるそうです(へぇ~)。Python 3.9.5の場合cp39だそうです。それと、Windows環境で64bitのPythonを使用している場合amd64となるそうです。

ということで以下のモジュールをダウンロードしました。

  • PyOpenGL-3.1.6-cp39-cp39-win_amd64.whl
  • PyOpenGL_accelerate-3.1.6-cp39-cp39-win_amd64.whl

手順3.PyOpenGLをインストールする

手順2でダウンロードしたモジュールをインストールします。ダウンロードしたパスをカレントディレクトリにしたPowerShellコンソールで以下コマンドを実行しインストールします。

pip install PyOpenGL-3.1.6-cp39-cp39-win_amd64.whl
pip install PyOpenGL_accelerate-3.1.6-cp39-cp39-win_amd64.whl

これでインストール完了です。

動作確認

以下のウィンドウが表示されるサンプルスクリプトを実行できることを確認します。

test_opengl.py
import sys
from OpenGL.GLUT import *
from OpenGL.GL import *
from OpenGL.GLU import *


def display():
    glClear(GL_COLOR_BUFFER_BIT)
    glColor3f(1.0, 1.0, 1.0)
    glBegin(GL_POLYGON)
    glVertex3f(0.25, 0.25, 0.0)
    glVertex3f(0.75, 0.25, 0.0)
    glVertex3f(0.75, 0.75, 0.0)
    glEnd()
    glFlush()


def init():
    glClearColor(0.0, 0.0, 0.0, 0.0)
    glMatrixMode(GL_PROJECTION)
    glLoadIdentity()
    glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0)


glutInit(sys.argv)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB)
glutInitWindowSize(300, 300)
glutInitWindowPosition(200, 200)
glutCreateWindow(b"hello")
init()
glutDisplayFunc(display)
glutMainLoop()

ーーーーー

これで終わりです。
手順2のモジュールのダウンロードで、どれをダウンロードしてよいかわからず適当にダウンロードすると以下のようなエラーになり途方にくれてました。

ダウンロードするモジュールが環境にあってなかった場合
PS C:\> pip install .\PyOpenGL-3.1.3b2-cp34-cp34m-win_amd64.whl
ERROR: PyOpenGL-3.1.3b2-cp34-cp34m-win_amd64.whl is not a supported wheel on this platform.

Discussion