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/

из PyOpenGL glutInit NullFunctionError

У меня работало на Ubuntu 22.

      sudo apt-get install -y python3-opengl

У меня была эта проблема в Ubuntu 20.04, я собирался попробовать установить пакет python3-opengl, когда увидел зависимость от freeglut3. Итак, я попытался установить только freeglut3 с помощью

      sudo apt install freeglut3

некоторым пакетам python требуются библиотеки из системы, но это не означает, что вам нужно установить пакет python во всей системе. Поэтому достаточно просто установить пакет в виртуальной среде и зависимости от системы.

Другие вопросы по тегам