2016-03-25 3 views
0

Я пытаюсь использовать PyQt4 внутри MotionBuilder (Autodesk) (потому что я знаю, что qt очень хорошо, и мне не нравится графический интерфейс api).PyQt ImportError: Ошибка загрузки DLL

  • Я на Windows 64 бит
  • Я использую MotionBuilder 2013 (64 бит)
  • Я установил PyQt4 (64 бита) для Python 2.7
  • Обновлен мой переменную Path, чтобы указать на PyQt4 DLLs место (C: \ python27 \ Lib \ сайт-пакеты \ PyQt4)
  • При печати sys.path я могу увидеть расположение PyQt4
  • я могу делать импорт PyQt4 без ошибок

Но когда я пытаюсь сделать

from PyQt4 import QtGui 

я получаю следующую ошибку

ImportError: DLL load failed: %1 is not a valid Win32 application. 

Я попытался установить PyQt 32 бит двоичных файлов, но получил тот же результат. И у меня есть QtGui4.dll и QtGui.pyd в моей корневой папке установки. Так что у меня нет идей, может ли кто-нибудь мне помочь?

Существует кто-то, кто получил почти один и тот же вопрос здесь PyQt4 import QtCore, QtGui ImportError: DLL load failed: %1 is not a valid Win32 application

+0

Прочтите это, чтобы узнать, помогает ли оно. http://stackoverflow.com/questions/19019720/importerror-dll-load-failed-1-is-not-a-valid-win32-application-but-the-dlls – idjaw

ответ

1

MotionBuilder 2013 поддерживают только Python 2.6 и PyQt4 построен с Python 2.7, по крайней мере = P

1

MotionBuilder 2013 поддерживает Qt 4.7 и Python 2.6 .4 (source). К сожалению, все двоичные файлы на веб-сайте PyQt предназначены для Qt 4.8+ и python 2.7 и 3.x. В проекте PySide по-прежнему имеется old binaries, доступный для скачивания, возможно, один из них может работать для вас (this one maybe).

Вы также можете прочесывать веб-страницы, и вы можете найти бинарный файл, соответствующий этим версиям - вот example (я только что нашел это с поиском google, я не могу ручаться за легитимность веб-сайта или скачать).

Вы всегда можете скомпилировать Qt и pyQt/PySide самостоятельно. Я считаю, что вам нужно будет использовать Visual Studio 2010.

+0

Спасибо, чувак, он работает очень хорошо! – Narthe

+0

Какой из них вы использовали? –

0

Обновление до Motionbuilder 2014 или выше, в котором используется Pyton 2.7. Motionbuilder 2013 - одна из худших версий, выпущенных Autodesk.

Вам также необходимо поместить пакеты PyQt сайта в локальном распределении Motionbuilder Python:

C: \ Program Files \ Autodesk \ MotionBuilder 2016 \ Bin \ x64 \ питон \ сайта-пакеты

как а также sip.pyd (который вы можете получить здесь: http://nathanhorne.com/compiled-versions-of-pyqt4-x64/, упомянутый в предыдущем ответе).