PyQt ImportError: сбой загрузки DLL
Я пытаюсь использовать PyQt4 внутри MotionBuilder(Autodesk) (потому что я действительно хорошо знаю qt, и мне не нравится API GUI движений).
- Я на Windows 64 бит
- Я использую MotionBuilder 2013 (64 бита)
- Я установил PyQt4 (64 бита) для Python 2.7
- Обновил мою переменную Path, чтобы она указывала на местоположение DLL-файлов PyQt4 (C:\Python27\Lib\site-packages\PyQt4)
- При печати sys.path я вижу местоположение PyQt4
- Я могу сделать импорт PyQt4 без ошибок
Но когда я пытаюсь сделать
from PyQt4 import QtGui
я получаю следующую ошибку
ImportError: DLL load failed: %1 is not a valid Win32 application.
Я попытался установить 32-битные двоичные файлы PyQt, но получил тот же результат. И у меня есть QtGui4.dll и QtGui.pyd в моей корневой папке установки. Так что у меня нет идей, кто-нибудь может мне помочь?
Есть еще кто-то, кто столкнулся с почти такой же проблемой: PyQt4 import QtCore, QtGui ImportError: Ошибка загрузки DLL: %1 не является допустимым приложением Win32
3 ответа
MotionBuilder 2013 поддерживает только Python 2.6, а PyQt4 построен как минимум с Python 2.7 =P
MotionBuilder 2013 поддерживает Qt 4.7 и python 2.6.4 ( исходный код). К сожалению, все двоичные файлы на веб-сайте PyQt предназначены для Qt 4.8+ и python 2.7 и 3.x. В проекте PySide все еще есть несколько старых двоичных файлов, доступных для скачивания, возможно, один из них может подойти вам ( этот может быть).
Вы также можете просматривать веб-страницы и найти двоичный файл, соответствующий этим версиям - вот пример (я только что нашел это с помощью поиска в Google, я не могу ручаться за легитимность веб-сайта или загрузку).
Вы всегда можете скомпилировать Qt и pyQt/PySide самостоятельно. Я считаю, что вам нужно использовать Visual Studio 2010.
Обновление до Motionbuilder 2014 или выше, который использует Pyton 2.7. Motionbuilder 2013 - одна из худших версий Autodesk.
Вам также нужно будет поместить пакеты сайта pyqt в ваш локальный дистрибутив Motionbuilder Python:
C: \ Program Files \ Autodesk \ MotionBuilder 2016 \ bin \ x64 \ python \ site-packages
а также sip.pyd (который вы можете получить здесь: http://nathanhorne.com/compiled-versions-of-pyqt4-x64/ упомянутый в предыдущем ответе).