PyQt ImportError:DLL加载失败

时间:2016-03-25 14:33:24

标签: python pyqt motionbuilder

我正在尝试在MotionBuilder(Autodesk)中使用PyQt4(因为我知道qt非常好,我不喜欢运动员GUI api)。

  • 我使用的是Windows 64位
  • 我正在使用MotionBuilder 2013(64位)
  • 我为Python 2.7安装了PyQt4(64位)
  • 更新了我的Path变量以指向PyQt4 dll位置(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.

我尝试安装PyQt 32位二进制文​​件但得到了相同的结果。我的安装根文件夹中有QtGui4.dll和QtGui.pyd。 所以我没有想法,任何人都可以帮助我吗?

还有其他人在这里遇到了几乎相同的问题 PyQt4 import QtCore, QtGui ImportError: DLL load failed: %1 is not a valid Win32 application

3 个答案:

答案 0 :(得分:1)

MotionBuilder 2013仅支持Python 2.6,PyQt4至少使用Python 2.7构建= P

答案 1 :(得分: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(我刚发现谷歌搜索,我无法保证其合法性网站或下载)。

你总是可以自己编译Qt和pyQt / PySide。我相信你需要使用Visual Studio 2010。

答案 2 :(得分:0)

使用Pyton 2.7更新到Motionbuilder 2014或更高版本。 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/在上一个答案中提到。)