Я пытаюсь запустить простой скрипт PyOpenGL в среде Anaconda в Ubuntu 22.04.5 LTS (64-разрядной версии). Хотя минимальная программа C OpenGL работает нормально, мой код Python завершается с ошибкой в контексте OpenGL. Минимальный пример PyOpenGL:
Traceback (most recent call last):
File "minimal_example.py", line 19, in
main()
File "minimal_example.py", line 15, in main
glutDisplayFunc(display)
File "/home/billy/anaconda3/envs/cs_355_ta_env_opengl/lib/python3.8/site-packages/OpenGL/GLUT/special.py", line 147, in __call__
contextdata.setValue( self.CONTEXT_DATA_KEY, cCallback )
File "/home/billy/anaconda3/envs/cs_355_ta_env_opengl/lib/python3.8/site-packages/OpenGL/contextdata.py", line 58, in setValue
context = getContext( context )
File "/home/billy/anaconda3/envs/cs_355_ta_env_opengl/lib/python3.8/site-packages/OpenGL/contextdata.py", line 40, in getContext
raise error.Error(
OpenGL.error.Error: Attempt to retrieve context when no valid context
Я пытаюсь запустить простой скрипт PyOpenGL в среде Anaconda в Ubuntu 22.04.5 LTS (64-разрядной версии). Хотя минимальная программа C OpenGL работает нормально, мой код Python завершается с ошибкой в контексте OpenGL. [b]Минимальный пример PyOpenGL:[/b] [code]from OpenGL.GL import * from OpenGL.GLUT import * from OpenGL.GLU import *
if __name__ == "__main__": main() [/code] [b]Сообщение об ошибке:[/b] [code]Traceback (most recent call last): File "minimal_example.py", line 19, in main() File "minimal_example.py", line 15, in main glutDisplayFunc(display) File "/home/billy/anaconda3/envs/cs_355_ta_env_opengl/lib/python3.8/site-packages/OpenGL/GLUT/special.py", line 147, in __call__ contextdata.setValue( self.CONTEXT_DATA_KEY, cCallback ) File "/home/billy/anaconda3/envs/cs_355_ta_env_opengl/lib/python3.8/site-packages/OpenGL/contextdata.py", line 58, in setValue context = getContext( context ) File "/home/billy/anaconda3/envs/cs_355_ta_env_opengl/lib/python3.8/site-packages/OpenGL/contextdata.py", line 40, in getContext raise error.Error( OpenGL.error.Error: Attempt to retrieve context when no valid context [/code] [b]Сведения о среде:[/b] [list] [*][b]ОС:[/b] Ubuntu 22.04 .5 LTS (64-разрядная версия) [*][b]Python:[/b] 3.8.20 [*][b]Conda Env: cs_355_ta_env_opengl [*]Установленные пакеты:[/b] PyOpenGL, PyOpenGL_accelerate, freeglut3, freeglut3-dev< /code> [/list] [b]Что я пробовал:[/b] [list] [*]Установлены freeglut3 и freeglut3-dev. [*][code]glxinfo | grep "OpenGL version"[/code] показывает действительную версию OpenGL. [*]Успешно скомпилировал и запустил программу C OpenGL. [*]Установил freeglut через conda- forge. [*]Переустановил PyOpenGL и PyOpenGL_accelerate с помощью conda и pip. [*]Подтверждено наличие libGL.so и libglut.so в среде Conda. [/list] Есть мысли о том, как это сделать заставить это работать?