我有這些進口
import pygame
from pygame.locals import *
from OpenGL.GL import * # issue with this one
from OpenGL.GLU import *
錯誤是:
OSError: ("dlopen(OpenGL, 0x000A): tried: '/Users/aryansingh/miniconda3/lib/OpenGL'
錯誤堆疊:
Traceback (most recent call last):
File "/Users/aryansingh/miniconda3/lib/python3.9/site-
packages/OpenGL/platform/darwin.py", line 35, in GL
return ctypesloader.loadLibrary(
File "/Users/aryansingh/miniconda3/lib/python3.9/site-
packages/OpenGL/platform/ctypesloader.py", line 45, in loadLibrary
return dllType( name, mode )
File "/Users/aryansingh/miniconda3/lib/python3.9/ctypes/__init__.py", line 382, in
__init__
self._handle = _dlopen(self._name, mode)
OSError: ("dlopen(OpenGL, 0x000A): tried:
嘗試從這個答案修復:無法在 macos 上的 python 中匯入 opengl.gl
發生錯誤的 site-packages/OpenGL/platform/ctypesloader.py 檔案的內容是這樣的:
if isinstance( dllType, ctypes.LibraryLoader ):
dllType = dllType._dlltype
fullName = '/System/Library/Frameworks/OpenGL.framework/OpenGL'#None this path was edited it was none before , LOCALCHANGES
try:
fullName = util.find_library( name )
if fullName is not None:
name = fullName
elif os.path.isfile( os.path.join( DLL_DIRECTORY, name '.dll' )):
name = os.path.join( DLL_DIRECTORY, name '.dll' )
except Exception as err:
_log.info( '''Failed on util.find_library( %r ): %s''', name, err )
# Should the call fail, we just try to load the base filename...
pass
try:
return dllType( name, mode )
except Exception as err:
err.args = (name,fullName)
raise
如何解決這個問題?
我正在使用:系統版本:macOS 12.1 (21C52) 內核版本:Darwin 21.2.0
uj5u.com熱心網友回復:
我認為你在正確的軌道上。請更改以下代碼:
fullName = '/System/Library/Frameworks/OpenGL.framework/OpenGL'#None this path was edited it was none before , LOCALCHANGES
try:
fullName = util.find_library( name )
到
fullName = None
try:
fullName = '/System/Library/Frameworks/OpenGL.framework/OpenGL'
希望這會幫助你。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/461570.html
標籤:Python 苹果系统 opengl 游戏 pyopengl
上一篇:如果ID存在于另一個表中,則使用另一個表中的值更新列
下一篇:Node/NPM正在更新我的主目錄而不是專案目錄中的package.json和package-lock.json檔案