Запуск Opengl На Python3 (Ubuntu)



Лирическое отступление Пару месяцев назад я решил изучить Python. Но.

только заглянув во всю эту среду, я оказался перед выбором: изучить относительно новый python3 или python2.7. Выбор пал в сторону python 3, хотя на нем работает лишь небольшое количество того, что уже доступно под python2.7, и было просто интересно поучаствовать в разработке языка.

Недавно возникла необходимость визуализировать некоторые данные (конкретно в openGL), поэтому было решено разобраться, что и как, собрать все воедино и рассказать об этом хакерам.

Статья ориентирована в первую очередь на новичков в питоне (таких как я), и написана в стиле «установи то-то и то-то», поэтому просим старожилов не закидывать шапками и отнестись с пониманием.



Готовиться

Так как нам придется собирать библиотеки, то нам необходимо установить python3-dev .

python3-setuptools нам это нужно для установки easy_install3 .

Мы ставим:

  
  
  
  
  
   

sudo apt-get install python3-dev python3-setuptools

Теперь можно собирать библиотеки.



Библиотеки
Установите pip для python3 через установленный easy_install3 :

sudo easy_install3 pip

пункт установили, теперь можем собрать нужные нам библиотеки:

sudo pip-3.2 install numpy PyOpenGL PyOpenGL_accelerate

(на момент установки текущая версия pip была 3.2; в прошлом, будущем или параллельной вселенной это число может отличаться).

Чтобы запустить модуль OpenGL.GLUT, установите freeglut:

sudo apt-get install freeglut3

Теперь все готово и можно пробовать запускать примеры.



Не все так просто

Заходим на сайт http://nehe.gamedev.net/tutorial , изучаем примеры, скачиваем код на питоне, проверяем работоспособность на питоне2.7 (если установлены библиотеки OpenGL для pyton2.7, все делается аналогично, пип

install numpy PyOpenGL PyOpenGL_accelerate

).

Например, мы скачиваем второй пример , проверять:

Запуск OpenGL на Python3 (Ubuntu)

пытаемся запустить его на python3, получаем ошибку:

$ python3 lesson02.py File "lesson02.py", line 153 print "Hit ESC key to quit." ^ SyntaxError: invalid syntax

Обрабатываем с помощью утилиты 2to3 (сначала это добавление скобок к

print

):

RefactoringTool: Skipping implicit fixer: buffer RefactoringTool: Skipping implicit fixer: idioms RefactoringTool: Skipping implicit fixer: set_literal RefactoringTool: Skipping implicit fixer: ws_comma RefactoringTool: Refactored test.py --- lesson02.py

Теги: #python3 #opengl #linux #ubuntu #python #программирование #портирование #портирование #python #программирование

Вместе с данным постом часто просматривают: