导入错误:PyQt5 Anaconda

5

我正在尝试在Windows 10 x64上使用Anaconda环境中通过pip安装的PyQt5。

以下是我创建环境的步骤:

conda create --name qt python=3.6
activate qt
pip install pyqt5

运行一个示例应用程序时,我遇到了错误:

文件"pyqt_test.py",第16行,在以下位置: from PyQt5.QtWidgets import QApplication, QWidget ImportError: DLL load failed: 找不到指定的模块。

从python.org下载Python,然后安装pyqt5可以正常工作。

感谢您的帮助。


你为什么要使用pip将包安装到conda环境中?为什么不使用“conda install pyqt5”呢? - darthbith
3个回答

4

我遇到了同样的问题,Miloslav所说的问题是正确的。实际上,看起来conda也应该提供一个python3.dll文件,详情请参见这里的讨论

简而言之,只需使用conda运行以下命令安装pyqt5:

conda install pyqt

这将安装最新的PyQt绑定,目前是PyQt 5.6。


那么为了使用它,是不是要输入 import pyqt,然后导入pyqt5? - olliepower
1
你没有告诉我们安装pyqt绑定的正确方法,仅仅安装pyqt会导致导入失败。 - WebComer

1
这是因为缺少 Python3.dll(存根 dll,重新导出 Python3x.dll 函数,以便一个扩展版本可以适用于多个 Python 版本)。
如果您的 Python 发行版没有捆绑 python3.dll,可以尝试从 WinPython(https://winpython.github.io/)获取。
至少在 2017/04/01 版本中应该有它。
1) 下载 WinPython('Zero' 版本就足够了;必须与您的 Python 相同的“主版本” - 3.5/3.6 - 和“位数” - 32/64 - !!!)。
2) 将其提取到某个临时目录中,将 python3.dll 放入您的 python 目录中,旁边是 python3x.dll。
3) 享受工作 QT。

我已经按照这些步骤进行了操作,但是没有成功。你有什么想法吗?虽然PyCharm中的自动补全功能可以使用,并且导入行没有被下划线标记为找不到包。 - lskrinjar
@Iskrinjar 这是很久以前的事情了,在那个时候这是主要来源(Python的版本已经更新...)。也许你需要更新的Python3.dll文件(如果你有一个并覆盖了它,请尝试找回它)。唯一确定的方法是使用某些依赖项检查器来确定您的安装存在什么问题。例如,可以使用此工具:http://www.dependencywalker.com/ -- 打开您正在尝试加载的.pyd模块并检查缺少的导入项(尝试在Python树中查找文件,或找出正确的版本下载,然后将其放置在Python寻找dll的某个目录中)... - Miloslav Raus

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接