PyOpenGL Ubuntu 14.04: неопределенная ошибка функции
После обновления до Ubuntu 14.04 и установки PyOpenGL через pip. Он работал нормально под Ubuntu 12.04, но теперь я получаю ошибки каждый раз, когда я пытаюсь использовать функцию из OpenGL.GLUT, например, это
from OpenGL.GLUT import *
print bool(glutInit)
glutInit(sys.argv)
выведет "True" и сообщение об ошибке:
File "/usr/local/lib/python2.7/dist-packages/OpenGL/GLUT/special.py", line 333, in glutInit
_base_glutInit( ctypes.byref(count), holder )
File "/usr/local/lib/python2.7/dist-packages/OpenGL/platform/baseplatform.py", line 407, in __call__
self.__name__, self.__name__,
OpenGL.error.NullFunctionError: Attempt to call an undefined function glutInit, check for bool(glutInit) before calling
Я не понимаю, какие-либо предложения? Благодарю.
5 ответов
Он работает после того, как я установил пакет python opengl
sudo apt-get install python-opengl
Перед этим я установил его через pip, что привело к ошибке выше:
pip install PyOpenGL PyOpenGL_accelerate
Я до сих пор не знаю почему, но сейчас это работает.
Я знаю, что уже немного поздно. Я также столкнулся с этой проблемой в Python 2.7 (32 бита) в Windows. Я решил эту проблему, скопировав glue32.dll в System32 на диске C и скопировав glue32.dll в каталог с исходными файлами. Это работает хорошо.
Python 2.7 32bit; Windows 7
Это решение работает:
После поиска решения аналогичной проблемы я наткнулся на эту группу Google, которая отвечает на вопрос: https://groups.google.com/forum/
Существует проблема с OpenGL.GLUT при загрузке в виде pip из официального источника. Удалите OpenGL с помощью pip, затем загрузите OpenGL с http://www.lfd.uci.edu/~gohlke/pythonlibs/
У меня работало на Ubuntu 22.
sudo apt-get install -y python3-opengl
У меня была эта проблема в Ubuntu 20.04, я собирался попробовать установить пакет python3-opengl, когда увидел зависимость от freeglut3. Итак, я попытался установить только freeglut3 с помощью
sudo apt install freeglut3
некоторым пакетам python требуются библиотеки из системы, но это не означает, что вам нужно установить пакет python во всей системе. Поэтому достаточно просто установить пакет в виртуальной среде и зависимости от системы.