我在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

我看过在该论坛中发布的类似错误,但没有提出建议的修复程序,这就是为什么我要问,这里出了什么问题?

安装是否有故障?进口正确吗?

编辑:在尝试了许多正式版本的修复后,我现在使用的是一个从Unofficial Windows Binaries for Python Extension Packages正常工作的非官方版本

最佳答案

根据下面的链接,问题出在glut安装而不是pip install。似乎 glut文件不属于PyOpenGL或PyOpenGL_accelerate软件包。您必须单独下载它们。

https://stackoverflow.com/a/39181193/7030177

Windows用户可以使用下面的链接来下载给定链接中提到的过剩。
ftp://ftp.sgi.com/opengl/glut/glut3.html.old#windows

Linux用户可以使用以下命令安装glut:

sudo apt-get install freeglut3-dev

希望这可以帮助 :)

07-24 09:37
查看更多