Win7 x64マシンでAnaconda Python 2.7を実行しており、使用しています
pip install PyOpenGL PyOpenGL_accelerate
anacondaコマンドラインでPyOpenGLをインストールします。
GlutInitを使用するコード(私が告白しなければならないコードはありません)
import sys
import math
import numpy
import OpenGL
from OpenGL.GL import *
from OpenGL.GLUT import *
import Image
import linkage
# ... a whole load of definitions etc ...
glutInit(sys.argv)
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB)
glutInitWindowSize(600, 600)
glutCreateWindow('linkage')
init()
initWindow()
glutIdleFunc(idle)
glutMainLoop()
コマンドラインで次のように入力して実行します。
python main.py peaucellier.txt
ただし、次のエラーが発生します(371行目は上記のglutInt(sys.argv)行です)
File "C:/Users/Owner/Documents/Python Scripts/linkage/main.py", line 371, in <module>
glutInit(sys.argv)
File "C:\Anaconda\lib\site-packages\OpenGL\GLUT\special.py", line 333, in glutInit
_base_glutInit( ctypes.byref(count), holder )
File "C:\Anaconda\lib\site-packages\OpenGL\platform\baseplatform.py", line 407, in __call__
self.__name__, self.__name__,
NullFunctionError: Attempt to call an undefined function glutInit, check for bool(glutInit) before calling
私はこのフォーラムに投稿された同様のエラーを見ましたが、提案された修正のどれも機能していないので、私が尋ねている理由は何ですか?
インストールに障害がありますか?インポートは正しいですか?
編集:公式リリースの多くの修正を試みた後、私は今、 非公式WindowsバイナリPython拡張パッケージ
以下のリンクによると、問題はpip install
ではなくglutインストールにありました。 glutファイルはPyOpenGLまたはPyOpenGL_accelerateパッケージの一部ではないようです。それらを個別にダウンロードする必要があります。
https://stackoverflow.com/a/39181193/7030177
Windowsユーザーは、以下のリンクを使用して、指定されたリンクに記載されているように、glutをダウンロードできます。 ftp://ftp.sgi.com/opengl/glut/glut3.html.old#windows
Linuxユーザーは、次のコマンドを使用してglutをインストールできます。
Sudo apt-get install freeglut3-dev
お役に立てれば :)
同様の問題の解決策を探した後、私は質問に答えるこのグーグルグループに出くわしました: https://groups.google.com/forum/#!topic/glumpy-users/aC1NjEHXtEE
公式ソースからpipとしてダウンロードすると、OpenGL.GLUTに問題があります。 pip
を使用してOpenGLをアンインストールしてから、 http://www.lfd.uci.edu/~gohlke/pythonlibs/ からOpenGLをダウンロードします。
Linuxの場合easy_install PyOpenGL
またはpip install PyOpenGL
を介してインストールした後、このエラーが発生します。
->配布パッケージを次のようにインストールします:Sudo apt-get install python-opengl
-これは動作しますfor me。
easy_install、pip、またはcondaからPyOpenGLをインストールする場合 、FreeGLUTなどのGLUT実装が既にインストールされていることを確認してください( prebuilt Windows binaries )。
FreeGLUTの場合、配布されたファイルをハードドライブ上の場所にコピーし、binディレクトリ(GLUT DLLを含む)へのパスをPATH環境変数に追加します。その後、PyOpenGLは期待どおりに動作するはずです。
はい、これはWindows 10でpython 2.713 anaconda 4 64ビットを実行しています。pyopenglをインストールするためにcondaを使用しましたが、上記と同じエラーを受け取りました。 freeglut.dll(私にとっては64ビット)をソースファイルと同じディレクトリに(dll検索パスに入れるだけで)すべてうまくいきました。
for python 2.7、PyopenGLにはvc ++ 9コンパイラが必要です。 ダウンロード をインストールします。
その後:
_python -m pip install --upgrade pip
pip install image
pip install numpy
pip install PyOpenGL PyOpenGL_accelerate
_
ダウンロードしました freeglut
それを解凍し、呼び出し時にパスにbinディレクトリを追加しました:glutCreateWindow("sometitle")
changed to glutCreateWindow(b'sometitle')
windows 7で実行しました
here から同じエラーが表示され、インストールに必要なファイルが解決されました。
これらのファイルをダウンロードします。
PyOpenGL-3.1.1-cp27-cp27m-win32.whl(コンピューターが32ビットの場合はダウンロード)
PyOpenGL-3.1.1-cp27-cp27m-win_AMD64.whl(コンピューターが64ビットの場合はダウンロード)
PyOpenGL_accelerate-3.1.1-cp27-cp27m-win32.whl(コンピューターが32ビットの場合はダウンロード)
PyOpenGL_accelerate-3.1.1-cp27-cp27m-win_AMD64.whl(コンピューターが64ビットの場合はダウンロード)
これらの。whlファイルを64ビット用にインストールします。
pip install PyOpenGL-3.1.1-cp27-cp27m-win_AMD64.whl
pip install PyOpenGL_accelerate-3.1.1-cp27-cp27m-win_AMD64.whl
これらの。whlファイルを32ビット用にインストールします。
pip install PyOpenGL-3.1.1-cp27-cp27m-win32.whl
pip install PyOpenGL_accelerate-3.1.1-cp27-cp27m-win32.whl
私はそれが少し遅れていることを知っています。また、Windowsでpython 2.7(32ビット)でこの問題が発生しました。user2723240に記載されている方法を試しましたが、まだ失敗しました。最後に、glue32.dllをCソースファイルディレクトリにglue32.dllをドライブしてコピーします。
次のコマンドは、Anacondaユーザーに対して機能するはずです。
conda install -c conda-forge freeglut
Python 3.6とWindows10。ただし、まったく同じエラーメッセージ。上記のすべてのソリューションを試してみましたが、成功しません。WHL
ファイルをpython from [〜#〜] here [〜#〜]
その後、pipはfilename .Whl
をインストールします。これ以上の問題はありません!
答えは中国のウェブサイトからでした: 回答リンク
Linuxでは、pyopenglモジュールはctypesモジュールを使用して、glutライブラリを単に「glut」としてロードしようとします。 ctypesのドキュメントによると、loadLibraryルーチンには完全なファイル名を指定する必要があります。そのため、libglut.soへのシンボリックリンクを作成し、「glut」と名付けました。