pyopengl
pyopengl copied to clipboard
ImportError Unable to load OpenGL library in macOS Monterey
- Python : 3.8.3
- PyOpenGL : 3.1.5
- PyOpenGL-accelerate : 3.1.5
Error Log
Traceback (most recent call last):
from OpenGL.GL import *
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/OpenGL/GL/__init__.py", line 3, in <module>
from OpenGL import error as _error
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/OpenGL/error.py", line 12, in <module>
from OpenGL import platform, _configflags
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/OpenGL/platform/__init__.py", line 36, in <module>
_load()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/OpenGL/platform/__init__.py", line 33, in _load
plugin.install(globals())
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/OpenGL/platform/baseplatform.py", line 97, in install
namespace[ name ] = getattr(self,name,None)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/OpenGL/platform/baseplatform.py", line 15, in __get__
value = self.fget( obj )
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/OpenGL/platform/darwin.py", line 62, in GetCurrentContext
return self.CGL.CGLGetCurrentContext
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/OpenGL/platform/baseplatform.py", line 15, in __get__
value = self.fget( obj )
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/OpenGL/platform/darwin.py", line 45, in CGL
def CGL(self): return self.GL
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/OpenGL/platform/baseplatform.py", line 15, in __get__
value = self.fget( obj )
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/OpenGL/platform/darwin.py", line 41, in GL
raise ImportError("Unable to load OpenGL library", *err.args)
ImportError: ('Unable to load OpenGL library', "dlopen(OpenGL, 0x000A): tried: 'OpenGL' (no such file), '/usr/lib/OpenGL' (no such file), '/Users/has3ong/Desktop/GITHUB/X3D_LB_Python/OpenGL' (no such file), '/usr/lib/OpenGL' (no such file)", 'OpenGL', None)
I solved it in the same way in this issues
macOS Big Sur, could not load OpenGL library #61
vi /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/OpenGL/platform/ctypesloader.py
def _loadLibraryWindows(dllType, name, mode):
"""Load a given library for Windows systems
returns the ctypes C-module object
"""
fullName = None
try:
fullName = util.find_library( name )
# Insert this codes
fullName = '/System/Library/Frameworks/OpenGL.framework/OpenGL'
#
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
However, there are still font related issues.
Unable to load font: GLUT_STROKE_ROMAN
Unable to load font: GLUT_STROKE_MONO_ROMAN
Unable to load font: GLUT_BITMAP_9_BY_15
Unable to load font: GLUT_BITMAP_8_BY_13
Unable to load font: GLUT_BITMAP_TIMES_ROMAN_10
Unable to load font: GLUT_BITMAP_TIMES_ROMAN_24
Unable to load font: GLUT_BITMAP_HELVETICA_10
Unable to load font: GLUT_BITMAP_HELVETICA_12
Unable to load font: GLUT_BITMAP_HELVETICA_18
Is there no way?
This is all fixed in Python3.10
Specifically it was fixed in Python 3.9.1 and 3.8.10.