русский | english
В данной статье я опишу методы установки PyQt на компьютер. Рассматриваются варианты установки на операционную систему для написания отдельных независимых приложений, для Maya и Nuke, интерфейс которых так же построен на Qt, и для Houdini, не дружественной но примелемой среды.
Установка PyQt на OS.
Установка PyQt на операционную систему, пожалуй, самая простая.
Windows.
Прежде всего нужно установить сам Python если он не установлен. Скачать можно с официального сайта. Для установки PyQt требуется так же скачать установочный ехе файл с официального сайта и запустить установку. Далее всё практически по умолчанию. Главное скачать версию под ваш интерпретатор Python и проверить путь установки.
Linux
Выполнить команду в терминале:
Установка пройдет автоматически. Лично я тестировал только на Ubuntu. Для других дистрибутивов могут быть отличия.
Приведенные выше способы самые простые, если что-то не получается, в интернете легко найти инструкции по установки в различных ситуациях.
Установка PyQt для Maya.
Для того чтобы PyQt работал в Maya, требуется особый дистрибутив, который компилируется отдельно из исходников с сайта Autodesk под конкретную платформу и версию Maya. Пример инструкции по сборке можно посмотреть здесь или здесь. Но так же можно скачать уже скомпилированные пакеты и просто установить. Чтобы облегчить Вам поиск, я размещу ссылки на те пакеты, которые использую сам. Под другие версии и платформы инсталяторов не имею.
Windows
Установка может быть двух видов. Первый, это обычная установка из exe файла. При этом нужно указать папку не системного интерпретатора python, а интерпретатор самой Maya. Например по такому адресу:
И после установки проверить что папка PyQt4 находится по адресу:
Linux
Обычно это архив с готовыми файлами, их нужно будет вручную скопировать. Например адрес может быть таким:
Установка PyQt для Nuke
Здесь ситуация аналогична. Либо используется установочный exe файл, либо архив, который нужно распаковать в нужное место.
На Windows это примерно здесь:
На Linux:
Установка PyQt для Houdini
Так как в Houdini не используется Qt в качестве движка для построения интерфейса (как это сделано в Maya и Nuke), для него подойдет дистрибутив с официального сайта. Главное его так же установить в каталог пакетов интерпретатора Houdini.
Путь установки может быть например таким:
Windows
Linux
и скопировать его в каталог пакетов python рядом с установленным PyQt.
Этот файл требуется для запуска окон Qt как отдельного процесса, но дочернего от процесса Houdini. Тут нужно заметить, что версию PyQt требуется скачать для Python2.6, так как именно эта версия используется в Houdini (на момент написания статьи).
___________________________
Далее я напишу инструкции для проверки успешности установки PyQt.
Проверка установки в системе Windows и Linux
Требуется сохранить его в файл с расширением .py и запустить с помощью интерпретатора, на который устанавливался PyQt. Если открылось окно, значит PyQt установлен успешно. Если нет, всё зависит от полученной ошибки.
Проверка установки для Maya
Следующий код скопируйте в ScriptEditor и выполните
Если окно открылось, то по крайней мере PyQt установлен в правильную директорию. Если возникают ошибки о загрузке модуля PyQt, то установка проведена не верно. Если ошибки рассказывают что-то о не поддерживаемых или не верных классах C++, то установленный пакет PyQt не подходит под текущую версию Maya. Например он от другой версии или установлен оригинальный пакет. Если PyQt точно установлен правильно в нужную директорию python-пакетов интерпретатора Maya, но при этом в переменной PYTHONPATH ссылка на оригинальный пакет, установленный в системе, встречается раньше, то PyQt загрузится системный. Тут можно посоветовать поправить системную переменную Windows или использовать враппер для запуска Maya.
Проверка установки для Houdini
Откройте окно Windows\Python Source Editor и скопируется ниже приведенный код:
Проверка для Nuke
Код скопируйте в ScriptEditor и выполните.
_________________________________________________
Предложенные методы не претендуют на абсолютную правильность, достоверность или однозначность. Всегда могут появиться любые проблемы. Ищите в гугле, спрашивайте в комментах.
А теперь обещанные ссылки.
Maya2011 Windows_x64
Maya2012 Windows_x64
4.7.1 for Maya2013 Windows_x64
4.9.1 for Maya2013 Windows x64
В Maya 1014 и выше используйте встроенный модуль PySide
Maya 2012 Lunux x64
Nuke6.3 Windows
Nuke6.3 Linux x64
PyQt для OSX
Installing PyQt4 for Maya 2012+ (osx)
В данной статье я опишу методы установки PyQt на компьютер. Рассматриваются варианты установки на операционную систему для написания отдельных независимых приложений, для Maya и Nuke, интерфейс которых так же построен на Qt, и для Houdini, не дружественной но примелемой среды.
Установка PyQt на OS.
Установка PyQt на операционную систему, пожалуй, самая простая.
Windows.
Прежде всего нужно установить сам Python если он не установлен. Скачать можно с официального сайта. Для установки PyQt требуется так же скачать установочный ехе файл с официального сайта и запустить установку. Далее всё практически по умолчанию. Главное скачать версию под ваш интерпретатор Python и проверить путь установки.
Linux
Выполнить команду в терминале:
sudo apt-get install python-qt4
Установка пройдет автоматически. Лично я тестировал только на Ubuntu. Для других дистрибутивов могут быть отличия.
Приведенные выше способы самые простые, если что-то не получается, в интернете легко найти инструкции по установки в различных ситуациях.
Установка PyQt для Maya.
Для того чтобы PyQt работал в Maya, требуется особый дистрибутив, который компилируется отдельно из исходников с сайта Autodesk под конкретную платформу и версию Maya. Пример инструкции по сборке можно посмотреть здесь или здесь. Но так же можно скачать уже скомпилированные пакеты и просто установить. Чтобы облегчить Вам поиск, я размещу ссылки на те пакеты, которые использую сам. Под другие версии и платформы инсталяторов не имею.
Windows
Установка может быть двух видов. Первый, это обычная установка из exe файла. При этом нужно указать папку не системного интерпретатора python, а интерпретатор самой Maya. Например по такому адресу:
C:\Program Files\Autodesk\Maya2012\Python
И после установки проверить что папка PyQt4 находится по адресу:
C:\Program Files\Autodesk\Maya2012\Python\lib\site-packages\PyQt4
Linux
Обычно это архив с готовыми файлами, их нужно будет вручную скопировать. Например адрес может быть таким:
/usr/autodesk/maya2012x64/lib/python2.6/site-packages
Установка PyQt для Nuke
Здесь ситуация аналогична. Либо используется установочный exe файл, либо архив, который нужно распаковать в нужное место.
На Windows это примерно здесь:
C:\Program Files\Nuke6.3v4\lib\site-packages
На Linux:
/usr/local/Nuke6.3v8/lib/python2.6/site-packages
Установка PyQt для Houdini
Так как в Houdini не используется Qt в качестве движка для построения интерфейса (как это сделано в Maya и Nuke), для него подойдет дистрибутив с официального сайта. Главное его так же установить в каталог пакетов интерпретатора Houdini.
Путь установки может быть например таким:
Windows
C:\Houdini12.1.72\python26\lib\site-packages
Linux
/opt/hfs12.1.129/python/lib/python2.6/site-packages
После этого требуется найти файл pyqt_thread_helper.py, который расположен в файлах документации.
C:\Houdini\2.1.72\houdini\help\hom\cookbook\pyqt\part2\pyqt_thread_helper.py
и скопировать его в каталог пакетов python рядом с установленным PyQt.
C:\Houdini12.1.72\python26\lib\site-packages
Этот файл требуется для запуска окон Qt как отдельного процесса, но дочернего от процесса Houdini. Тут нужно заметить, что версию PyQt требуется скачать для Python2.6, так как именно эта версия используется в Houdini (на момент написания статьи).
___________________________
Далее я напишу инструкции для проверки успешности установки PyQt.
Проверка установки в системе Windows и Linux
from PyQt4.QtCore import * from PyQt4.QtGui import * import sys class qtWindow(QMainWindow): def __init__(self): super(qtWindow, self).__init__() self.show() if __name__ == '__main__': app = QApplication(sys.argv) ex = qtWindow() sys.exit(app.exec_())
Требуется сохранить его в файл с расширением .py и запустить с помощью интерпретатора, на который устанавливался PyQt. Если открылось окно, значит PyQt установлен успешно. Если нет, всё зависит от полученной ошибки.
Проверка установки для Maya
Следующий код скопируйте в ScriptEditor и выполните
from PyQt4.QtGui import * import sys class qtWindow(QMainWindow): def __init__(self): super(qtWindow, self).__init__() c = qtWindow() c.show()
Если окно открылось, то по крайней мере PyQt установлен в правильную директорию. Если возникают ошибки о загрузке модуля PyQt, то установка проведена не верно. Если ошибки рассказывают что-то о не поддерживаемых или не верных классах C++, то установленный пакет PyQt не подходит под текущую версию Maya. Например он от другой версии или установлен оригинальный пакет. Если PyQt точно установлен правильно в нужную директорию python-пакетов интерпретатора Maya, но при этом в переменной PYTHONPATH ссылка на оригинальный пакет, установленный в системе, встречается раньше, то PyQt загрузится системный. Тут можно посоветовать поправить системную переменную Windows или использовать враппер для запуска Maya.
Проверка установки для Houdini
Откройте окно Windows\Python Source Editor и скопируется ниже приведенный код:
import sys from PyQt4.QtCore import * from PyQt4.QtGui import * import pyqt_thread_helper class qtWindow(QMainWindow): def __init__(self): super(qtWindow, self).__init__() def openUI(): app = pyqt_thread_helper.getApplication() cd = qtWindow() cd.show() app.exec_() pyqt_thread_helper.queueCommand(openUI)Окно не наследует стиля оформления Houdini как в случае с Maya, но я постараюсь рассказать как это можно исправить, написав свой стиль, похожий на Houdini. Так же Окно прячется за интерфейс при потере фокуса. Если в случае с Maya или Nuke данная проблема решается штатными средствами, то с Houdini дела обстоят посложней, но об этом в следующих публикациях.
Проверка для Nuke
Код скопируйте в ScriptEditor и выполните.
from PyQt4.QtCore import * from PyQt4.QtGui import * import sys class qtWindow(QWidget): def __init__(self, parent = QApplication.activeWindow()): super(qtWindow, self).__init__(parent) self.setWindowFlags(Qt.Window) c = qtWindow() c.show()
_________________________________________________
Предложенные методы не претендуют на абсолютную правильность, достоверность или однозначность. Всегда могут появиться любые проблемы. Ищите в гугле, спрашивайте в комментах.
А теперь обещанные ссылки.
Maya2011 Windows_x64
Maya2012 Windows_x64
4.7.1 for Maya2013 Windows_x64
4.9.1 for Maya2013 Windows x64
В Maya 1014 и выше используйте встроенный модуль PySide
Maya 2012 Lunux x64
Nuke6.3 Windows
Nuke6.3 Linux x64
PyQt для OSX
Installing PyQt4 for Maya 2012+ (osx)
Hey man, the Maya 2013 links at the bottom don't work, can you fix it please?
ОтветитьУдалитьSorry. Now the links work.
ОтветитьУдалить