PyQt ImportError:DLL 加载失败
Posted
技术标签:
【中文标题】PyQt ImportError:DLL 加载失败【英文标题】:PyQt ImportError : DLL load failed 【发布时间】:2016-07-13 07:51:32 【问题描述】:我正在尝试在 MotionBuilder(Autodesk) 中使用 PyQt4(因为我非常了解 qt,而且我不喜欢 motionbuilder 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
【问题讨论】:
阅读这篇文章看看是否有帮助。 ***.com/questions/19019720/… 【参考方案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】:MotionBuilder 2013 只支持 Python 2.6 而 PyQt4 至少是用 Python 2.7 构建的 =P
【讨论】:
【参考方案3】:更新到 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/ 在上一个答案中提到)。
【讨论】:
以上是关于PyQt ImportError:DLL 加载失败的主要内容,如果未能解决你的问题,请参考以下文章
pyodbc - ImportError:DLL 加载失败:
ImportError:DLL 加载失败:找不到指定的过程。 (导入sklearn)
ImportError:DLL 加载失败:%1 不是有效的 Win32 应用程序。但是DLL在那里
ImportError:导入 _remap 时 DLL 加载失败