Python 如何解决错误:AttributeError:module';pyglfw';没有属性';pyglfwInit';

Python 如何解决错误:AttributeError:module';pyglfw';没有属性';pyglfwInit';,python,ubuntu,opengl,glfw,Python,Ubuntu,Opengl,Glfw,我想用python制作一个openGL项目。下面的代码正在创建显示图形的窗口 import os import glfw from OpenGL.GL import * class renderwindow(): '''GLFW Renderting window class''' def __init__(self): #save current working directory cwd = os.getcwd()

我想用python制作一个openGL项目。下面的代码正在创建显示图形的窗口

import os

import glfw
from OpenGL.GL import *


class renderwindow():
    '''GLFW Renderting window class'''

    def __init__(self):

        #save current working directory
        cwd = os.getcwd()

        #initialize glfw
        glfw.glfwInit()

        #restore cws
        os.chdir(cwd)

        #version hints
        glfw.glfwWindowHint()

        glfw.glfwWindowHint(glfw.GLFW_CONTEXT_VERSION_MAJOR, 3)
        glfw.glfwWindowHint(glfw.GLFW_CONTEXT_VERSION_MINOR, 3)
        glfw.glfwWindowHint(glfw.GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE)
        glfw.glfwWindowHint(glfw.GLFW_OPENGL_PROFILE,
                            glfw.GLFW_OPENGL_CORE_PROFILE)

        # make a window
        self.width, self.height = 640, 480
        self.aspect = self.width / float(self.height)
        self.win = glfw.glfwCreateWindow(self.width, self.height,
                                         b'simpleglfw')

        # make the context current
        glfw.glfwMakeContextCurrent(self.win)

    def main(self):
        glViewport(0, 0, self.width, self.height)
        glEnable(GL_DEPTH_TEST)
        glClearColor(0.5, 0.5, 0.5, 1.0)
当我运行代码时,它会报告如下错误:

Traceback (most recent call last):
  File "/snap/pycharm-community/192/plugins/python-ce/helpers/pydev/pydevd.py", line 1438, in _exec
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "/snap/pycharm-community/192/plugins/python-ce/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "/home/surface/Final-Year-Project/FYP/Main.py", line 6, in <module>
    class main():
  File "/home/surface/Final-Year-Project/FYP/Main.py", line 29, in main
    rw = renderwindow()
  File "/home/surface/Final-Year-Project/FYP/Open_GL_project1/RenderWIndow.py", line 16, in __init__
    glfw.glfwInit()
AttributeError: module 'glfw' has no attribute 'glfwInit'

Process finished with exit code 1

回溯(最近一次呼叫最后一次):
文件“/snap/pycharm community/192/plugins/python-ce/helpers/pydev/pydevd.py”,第1438行,在
pydev_imports.execfile(文件、全局、局部)#执行脚本
文件“/snap/pycharm community/192/plugins/python-ce/helpers/pydev/_-pydev\u-imps/_-pydev\u-execfile.py”,execfile中第18行
exec(编译(内容+“\n”,文件,'exec'),全局,loc)
文件“/home/surface/Final Year Project/FYP/Main.py”,第6行,在
类main():
文件“/home/surface/Final Year Project/FYP/Main.py”,第29行,主视图
rw=renderwindow()
文件“/home/surface/Final Year Project/FYP/Open_GL_project1/RenderWIndow.py”,第16行,初始__
glfw.glfwInit()
AttributeError:模块“glfw”没有属性“glfwInit”
进程已完成,退出代码为1

我在互联网上搜索解决方案,有人说问题是由旧版本的GLFW造成的。PYFW与GLFW不匹配。我不知道如何解决它

方法的名称不是
glfwInit
,而是
init
。这也适用于其他方法。(
window\u hint
create\u window
make\u context\u current
):

导入操作系统
进口glfw
从OpenGL.GL导入*
类renderwindow():
''GLFW渲染窗口类''
定义初始化(自):
#保存当前工作目录
cwd=os.getcwd()
#初始化glfw
glfw.init()
#恢复cws
os.chdir(cwd)
#版本提示
glfw.window\u提示(glfw.CONTEXT\u版本\u主要,3)
glfw.window\u提示(glfw.CONTEXT\u版本\u小调,3)
glfw.window\u提示(glfw.OPENGL\u FORWARD\u COMPAT,GL\u TRUE)
glfw.window\u提示(glfw.OPENGL\u配置文件,
glfw.OPENGL_内核_配置文件)
#开窗
自宽、自高=640480
self.aspect=self.width/float(self.height)
self.win=glfw.create_窗口(self.width、self.height、,
“simpleglfw”,无,无)
#使上下文成为当前上下文
glfw.make_context_current(self.win)
def主(自):
glViewport(0,0,self.width,self.height)
glEnable(GL_深度_测试)
glClearColor(0.5,0.5,0.5,1.0)

或者
将glfw.glfw导入为glfw

导入操作系统
#进口glfw
导入glfw.glfw作为glfw
从OpenGL.GL导入*
类renderwindow():
''GLFW渲染窗口类''
定义初始化(自):
#保存当前工作目录
cwd=os.getcwd()
#初始化glfw
glfw.glfwInit()
#恢复cws
os.chdir(cwd)
#版本提示
glfw.glfwWindowHint(glfw.glfw_上下文_版本_主要版本,3)
glfw.glfwWindowHint(glfw.glfw_上下文_版本_小调,3)
glfw.glfwWindowHint(glfw.glfw\u OPENGL\u FORWARD\u COMPAT,GL\u TRUE)
glfw.glfwWindowHint(glfw.glfw_OPENGL_配置文件,
glfw.glfw_OPENGL_CORE_PROFILE)
#开窗
自宽、自高=640480
self.aspect=self.width/float(self.height)
self.win=glfw.glfwCreateWindow(self.width、self.height、,
“simpleglfw”,无,无)
#使上下文成为当前上下文
glfw.glfwMakeContextCurrent(self.win)
def主(自):
glViewport(0,0,self.width,self.height)
glEnable(GL_深度_测试)
glClearColor(0.5,0.5,0.5,1.0)
wnd=渲染窗口()

谢谢,您能告诉我在哪里可以找到关于python的OpenGL的API文档吗?我可以在GLFW、ORG/DOCS/ LangTuo中找到关于C++的文档,PyopGunl API可以在这里找到,分别是RabBID76,谢谢!