报错问题:在Mac上找不到OpenGL
Traceback (most recent call last):
File “/opt/miniconda3/lib/python3.8/site-packages/OpenGL/platform/darwin.py”, line 35, in GL
return ctypesloader.loadLibrary(
File “/opt/miniconda3/lib/python3.8/site-packages/OpenGL/platform/ctypesloader.py”, line 36, in loadLibrary
return _loadLibraryWindows(dllType, name, mode)
File “/opt/miniconda3/lib/python3.8/site-packages/OpenGL/platform/ctypesloader.py”, line 89, in _loadLibraryWindows
return dllType( name, mode )
File “/opt/miniconda3/lib/python3.8/ctypes/init.py”, line 373, in init
self._handle = _dlopen(self._name, mode)
OSError: ("dlopen(OpenGL, 0x000A): tried:
解决方案:
This error is because Big Sur no longer has the OpenGL library nor other system libraries in standard locations in the file system and instead uses a cache. PyOpenGL uses ctypes to try to locate the OpenGL library and it fails to find it. Fixing ctypes in Python so that it will find the library is the subject of this pull request
https://github.com/python/cpython/pull/21241
So a future version of Python should resolve the problem.
To fix it now you can edit PyOpenGL file OpenGL/platform/ctypesloader.py changing line
fullName = util.find_library( name )
to
fullName = '/System/Library/Frameworks/OpenGL.framework/OpenGL'