最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

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

在project untitled中打開(kāi)python interpreter,如下圖所示

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

           

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

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

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

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

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

我的是在直接下載到了C盤(pán)中,如下所示

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

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è)置去查看庫(kù),如下所示

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

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

代碼測(cè)試

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()

測(cè)試結(jié)果

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

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

在windows_64下利用命令:pip install pyopengl 安裝python的openGL環(huán)境。結(jié)果運(yùn)行示例代碼出現(xiàn)以下錯(cuò)誤:
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)了以上錯(cuò)誤!

解決方案

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

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

測(cè)試環(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類(lèi)型而不是string
glutCreateWindow(b"First")
glutDisplayFunc(drawFunc)
#glutIdleFunc(drawFunc)
glutMainLoop() 

總結(jié)

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

相關(guān)文章

  • python使用PyCharm進(jìn)行遠(yuǎn)程開(kāi)發(fā)和調(diào)試

    python使用PyCharm進(jìn)行遠(yuǎn)程開(kāi)發(fā)和調(diào)試

    這篇文章主要介紹了python使用PyCharm進(jìn)行遠(yuǎn)程開(kāi)發(fā)和調(diào)試,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • 如何在?ASP.NET?Core?中創(chuàng)建?gRPC?客戶(hù)端和服務(wù)器

    如何在?ASP.NET?Core?中創(chuàng)建?gRPC?客戶(hù)端和服務(wù)器

    gRPC 是一種高性能、開(kāi)源的遠(yuǎn)程過(guò)程調(diào)用(RPC)框架,它基于 Protocol Buffers(protobuf)定義服務(wù),并使用 HTTP/2 協(xié)議進(jìn)行通信,這篇文章主要介紹了在?ASP.NET?Core?中創(chuàng)建?gRPC?客戶(hù)端和服務(wù)器,需要的朋友可以參考下
    2024-11-11
  • Python 異步之推導(dǎo)式示例詳解

    Python 異步之推導(dǎo)式示例詳解

    這篇文章主要為大家介紹了Python 異步之推導(dǎo)式示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Python使用oslo.vmware管理ESXI虛擬機(jī)的示例參考

    Python使用oslo.vmware管理ESXI虛擬機(jī)的示例參考

    oslo.vmware是OpenStack通用框架中的一部分,主要用于實(shí)現(xiàn)對(duì)虛擬機(jī)的管理任務(wù),借助oslo.vmware模塊我們可以管理Vmware ESXI集群環(huán)境。
    2021-06-06
  • Python+Selenium實(shí)現(xiàn)在Geoserver批量發(fā)布Mongo矢量數(shù)據(jù)

    Python+Selenium實(shí)現(xiàn)在Geoserver批量發(fā)布Mongo矢量數(shù)據(jù)

    這篇文章主要為大家詳細(xì)介紹了如何利用Python+Selenium實(shí)現(xiàn)在 Geoserver批量發(fā)布來(lái)自Mongo中的矢量數(shù)據(jù),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-07-07
  • python實(shí)現(xiàn)二叉查找樹(shù)實(shí)例代碼

    python實(shí)現(xiàn)二叉查找樹(shù)實(shí)例代碼

    這篇文章主要介紹了python實(shí)現(xiàn)二叉查找樹(shù)實(shí)例代碼,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • Pandas數(shù)據(jù)類(lèi)型之category的用法

    Pandas數(shù)據(jù)類(lèi)型之category的用法

    Pandas中有一種特殊的數(shù)據(jù)類(lèi)型叫做category.它表示的是一個(gè)類(lèi)別,一般用在統(tǒng)計(jì)分類(lèi)中,比如性別,血型,分類(lèi),級(jí)別等等.有點(diǎn)像java中的enum,今天給大家詳細(xì)講解一下category的用法,需要的朋友可以參考下
    2021-06-06
  • Django中url的反向查詢(xún)的方法

    Django中url的反向查詢(xún)的方法

    本篇文章主要介紹了Django中url的反向查詢(xún)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • Python中MySQLdb和torndb模塊對(duì)MySQL的斷連問(wèn)題處理

    Python中MySQLdb和torndb模塊對(duì)MySQL的斷連問(wèn)題處理

    這篇文章主要介紹了Python中MySQLdb和torndb模塊對(duì)MySQL的斷連問(wèn)題處理,torndb使用起來(lái)相對(duì)更加簡(jiǎn)潔一些,需要的朋友可以參考下
    2015-11-11
  • Python中的迭代器和生成器詳解

    Python中的迭代器和生成器詳解

    這篇文章主要介紹了Python中的迭代器和生成器詳解,生成器表達(dá)式是用來(lái)生成函數(shù)調(diào)用時(shí)序列參數(shù)的一種迭代器寫(xiě)法,生成器對(duì)象可以遍歷或轉(zhuǎn)化為列表或元組等數(shù)據(jù)結(jié)構(gòu),但不能切片,需要的朋友可以參考下
    2023-07-07

最新評(píng)論

天柱县| 水城县| 宝清县| 台江县| 祁连县| 和田市| 望城县| 鹤壁市| 阿拉善左旗| 南宫市| 方城县| 乌拉特中旗| 西吉县| 罗源县| 磴口县| 绵阳市| 五台县| 阜平县| 辽中县| 自治县| 深水埗区| 赤峰市| 桑日县| 南木林县| 绿春县| 鄂州市| 沈丘县| 本溪市| 焦作市| 白银市| 富源县| 密山市| 会昌县| 砀山县| 东光县| 农安县| 罗江县| 唐河县| 郯城县| 隆林| 达拉特旗|