亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python安裝配置OpenGL環(huán)境的全過程記錄

 更新時間:2021年03月15日 14:19:12   作者:威爾、  
這篇文章主要給大家介紹了關(guān)于Python安裝配置OpenGL環(huán)境的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

最近學(xué)習(xí)計算機圖形學(xué),需要使用OpenGL,踩了很多雷,最后終于成功了,總結(jié)了一下教程和一些踩雷心得

環(huán)境:win10_64位系統(tǒng)、PyCharm(本人使用的是python3.8版本)

 錯誤安裝如下(錯誤演示我使用的是python3.6版本)

打開PyCharm,如下圖打開設(shè)置

在project untitled中打開python interpreter,如下圖所示

有的教程是讓你在這里直接搜索OpenGL進(jìn)行安裝,然而這里只能安裝32位,所以會導(dǎo)致代碼是不報錯了,可是運行便會報錯(glut錯誤),如下所示

           

下面是正確安裝方法(python3.8演示)

我們不能在PyCharm上直接安裝OpenGL,需要在官網(wǎng)上進(jìn)行下載

鏈接:https://www.lfd.uci.edu/~gohlke/pythonlibs/

進(jìn)入后一直向下找,找到PyOpenGL,我的是python3.8版本,就選擇下載箭頭指的兩個文件(cp38:意思就是python3.8版本;amd64:意思就是64位操作系統(tǒng))

根據(jù)自己的版本進(jìn)行下載

我的是在直接下載到了C盤中,如下所示

這兩個.whl文件需要使用cmd命令窗口進(jìn)行命令安裝,它會直接安裝到你的對應(yīng)版本的庫文件中

pip install PyOpenGL-3.1.5-cp38-cp38-win_amd64.whl
pip install PyOpenGL_accelerate-3.1.5-cp38-cp38-win_amd64.whl

安裝成功后,去PyCharm的設(shè)置去查看庫,如下所示

這里有個點要注意一下,本人在這里踩了大雷,因為我之前的PyCharm使用的是python3.6版本,所以導(dǎo)致我安裝完之后,無法使用,但當(dāng)我下載了3.6版本的時候,發(fā)現(xiàn)系統(tǒng)提示我無法安裝,應(yīng)該是因為我有3.8版本,導(dǎo)致我3.6無法正常去安裝,所以這里就需要切換到python3.8的對應(yīng)路徑,如何就可以正常使用了。

如下圖,找到自己的python3.8文件夾,然后找到里面的python.exe文件,然后將它的路徑添加的下圖紅框中的地方去,就可以成功導(dǎo)入你python3.8的庫了,然后在檢查自己庫中是否存在PyOpenGL和PyOpenGL-accelerate

代碼測試

from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *
 
 
def Draw():
 glClear(GL_COLOR_BUFFER_BIT)
 glRotatef(0.5, 0, 1, 0)
 glutWireTeapot(0.5)
 glFlush()
 
 
glutInit()
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA)
glutInitWindowSize(400, 400)
glutCreateWindow("test")
glutDisplayFunc(Draw)
glutIdleFunc(Draw)
glutMainLoop()

測試結(jié)果

旋轉(zhuǎn)的立體水壺

附: “OpenGL.error.NullFunctionError: Attempt to call an undefined function”解決方案

在windows_64下利用命令:pip install pyopengl 安裝python的openGL環(huán)境。結(jié)果運行示例代碼出現(xiàn)以下錯誤:
OpenGL.error.NullFunctionError: Attempt to call an undefined function glutInitDisplayMode, check for bool(glutInitDisplayMode) before calling

原因分析

主要是你的windows是64位的,但是使用命令pip install pyopengl 安裝后,執(zhí)行示例默認(rèn)使用的是pyopengl_32位的,所以出現(xiàn)了以上錯誤!

解決方案

在Windows_64上安裝64位的pyopengl 即可,pyopengl_64位下載鏈接:PyOpenGL‑3.1.1‑win_amd64.whl

下載與自己Python版本合適的,執(zhí)行命令:pip install XXX.whl 即可正常使用pyopengl環(huán)境。

測試環(huán)境代碼

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

def drawFunc():
  glClear(GL_COLOR_BUFFER_BIT)
  #glRotatef(1, 0, 1, 0)
  glutWireTeapot(0.5)
  glFlush()

glutInit()
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA)
glutInitWindowSize(400, 400)
#參數(shù)為b類型而不是string
glutCreateWindow(b"First")
glutDisplayFunc(drawFunc)
#glutIdleFunc(drawFunc)
glutMainLoop() 

總結(jié)

到此這篇關(guān)于Python安裝配置OpenGL環(huán)境的文章就介紹到這了,更多相關(guān)Python安裝配置OpenGL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何利用python查找電腦文件

    如何利用python查找電腦文件

    利用python查找電腦里的文件非常方便,首先是導(dǎo)入模塊os,然后利用os.listdir()打開目錄下的所有文件,files其實是一個列表。具體操作方法大家參考下本文
    2018-04-04
  • Python?assert斷言聲明,遇到錯誤則立即返回問題

    Python?assert斷言聲明,遇到錯誤則立即返回問題

    這篇文章主要介紹了Python?assert斷言聲明,遇到錯誤則立即返回問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Python多線程Threading、子線程與守護(hù)線程實例詳解

    Python多線程Threading、子線程與守護(hù)線程實例詳解

    這篇文章主要介紹了Python多線程Threading、子線程與守護(hù)線程,結(jié)合實例形式詳細(xì)分析了Python多線程Threading、子線程與守護(hù)線程相關(guān)概念、原理、用法與操作注意事項,需要的朋友可以參考下
    2020-03-03
  • 在pyCharm中下載第三方庫的方法

    在pyCharm中下載第三方庫的方法

    這篇文章主要介紹了在pyCharm中下載第三方庫的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • python3+pyqt5+itchat微信定時發(fā)送消息的方法

    python3+pyqt5+itchat微信定時發(fā)送消息的方法

    今天小編就為大家分享一篇python3+pyqt5+itchat微信定時發(fā)送消息的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • conda下載各種包時如何避免版本不匹配問題

    conda下載各種包時如何避免版本不匹配問題

    在使用python和conda時,由于Python版本不匹配,可能會導(dǎo)致一些問題的出現(xiàn),本文主要介紹了conda下載各種包時如何避免版本不匹配問題,感興趣的可以了解一下
    2024-03-03
  • PySide2出現(xiàn)“ImportError: DLL load failed: 找不到指定的模塊”的問題及解決方法

    PySide2出現(xiàn)“ImportError: DLL load failed: 找不到指定的模塊”的問題及解決方法

    這篇文章主要介紹了PySide2出現(xiàn)“ImportError: DLL load failed: 找不到指定的模塊”的問題及解決方法,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2020-06-06
  • Python實現(xiàn)貪吃蛇小游戲(單人模式)

    Python實現(xiàn)貪吃蛇小游戲(單人模式)

    這篇文章主要為大家詳細(xì)介紹了Python實現(xiàn)單人模式的貪吃蛇小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • python3 scrapy框架的執(zhí)行流程

    python3 scrapy框架的執(zhí)行流程

    Scrapy的安裝有多種方式,它支持Python2.7版本及以上或Python3.3版本及以上。下面說明python3 scrapy框架的常用命令及框架執(zhí)行流程,感興趣的朋友一起看看吧
    2021-07-07
  • python中tf.boolean_mask()函數(shù)的使用方法詳解

    python中tf.boolean_mask()函數(shù)的使用方法詳解

    這篇文章主要介紹了python中tf.boolean_mask()函數(shù)的使用方法詳解,?tf.boolean_mask()?函數(shù)的作用是通過布爾值對指定的列的元素進(jìn)行過濾,需要的朋友可以參考下
    2023-11-11

最新評論