PyQt5 - pyuic5模块未找到,与PyQt5.uic相关。

3
我已经将我的开发环境从python-3.2/Qt-4.8/PyQt4升级到了python 3.4.2/Qt5.3/PyQt5。

一切都很好,但是使用pyuic5生成python源代码时出现了问题。

在调用此命令时,我遇到了错误。

/usr/bin/python3: No module named uic

Qt uic程序位于

~/Qt/5.3/gcc_64/bin/uic

PyQt5包位于

/usr/local/lib/python3.4/site-packages/PyQt5

即使PyQt5环境在运行时正常,我也无法构建任何新的GUI界面,因此我无法继续进行应用程序升级。

有什么想法吗?

谢谢帮忙。


仔细查看这两个与Python相关的文件路径:你注意到任何差异了吗? - ekhumoro
说实话,我不知道 PyQt 和 Qt 是如何内部协作的。我在我的主目录中安装了 QT 的用户环境,并将 python3 系统环境从 3.2 升级到了 3.4.2。对于 Python3.2/PyQt4 & Qt4.8(在主目录中),它对我来说是有效的。这是 QT5 版本的问题吗?还是我错过了其他什么东西? - Emmanuel BRUNET
2
pyuic5 脚本调用了 /usr 下安装的 Python,而你将 PyQt5 安装在了 /usr/local 下。每当你构建和安装软件包时,必须始终使用特定 Python 安装的 python 可执行文件运行配置脚本。 - ekhumoro
6个回答

9

感谢@Akhil提供的答案。下面的代码确实帮助我避免了“模块未找到”的问题,并成功地从.ui文件创建了.py文件。

 exec python -m PyQt5.uic.pyuic youruifile -o yourpyfile -x

os.system(pyuic5 youruifile > yourpyfile) 在长时间正常工作后,突然出现了模块未找到的问题。上述代码帮助我解决了这个问题。 - komodovaran_

6
call python -m PyQt5.uic.pyuic -x filename.ui -o filename.py

这个方法对我有效(2017年6月28日,PyQt5,Python 3.6,Win10,64位)。


2
我遇到了同样的问题。我已经将PyQt安装到虚拟环境中,问题是pyuic5脚本没有使用该虚拟环境的Python解释器。
因此,我打开了pyuic5脚本。
exec pythonw2.7 -m PyQt5.uic.pyuic ${1+"$@"}

to

exec python -m PyQt5.uic.pyuic ${1+"$@"}'

这对我解决了问题。

0

我知道这有点晚了,但最近在为Qt Creator设置外部工具时遇到了这个问题。虽然不完全是你遇到的问题,但它会产生相同的错误。我不喜欢修改anaconda/bin目录中的文件,所以我不想实现其他答案中的任何一个。

我发现当你设置外部工具时,Qt Creator会像你在新环境中工作一样操作(即你的PATH与开发路径不同)。我发现你需要将环境字段设置为与你的开发环境相同的路径。这在为项目设置构建和运行设置时默认发生,但对于外部工具则不是这样。

就像@ekhumoro在他的评论中说的那样,你必须时刻注意你的PATH


0

试试这个:我已经搜索了两天,所有的问题都解决了!

Python 的第一条规则:不要使用 .XML,这不是 Java,而是使用 .PY 对于我来说,我根本不需要 uic。

让我们开始吧,我的 pyuic5 实际上并不在 PyQt5 文件夹中,而是在 Scripts 文件夹中。

C:\......Python\Python37-32\Scripts\pyuic5.exe

你必须确保 yourFile.ui 文件与你的 pyuic5.exe 文件在同一位置。

按照下面的图片,你就会明白:

如何将 UI 转换为 PY 的简便方法

uic未找到已解决

一切都运作得非常好!

大家好,看看最后一张图片,我第一次将 ui 转换为 py


0

我相信你是一位Mac用户,我曾经遇到过类似的问题。

看起来你只需要提供pyuic文件的完整路径(对我来说,它在home目录下的一个隐藏文件夹usr中:/usr/local/Cellar/pyqt/5.10.1_1/bin/pyuic5)。

在终端中,切换到你想要转换为*.py文件的*.ui文件所在的目录。

例如,如果你在桌面上保存了一个名为untitled.ui的Qt设计师文件,请在终端中输入以下命令:

Amars-MacBook-Pro:Desktop amaradak$ /usr/local/Cellar/pyqt/5.10.1_1/bin/pyuic5 -x untitled.ui -o untitled.py

希望这能有所帮助... 祝好

建议进行一次编辑,格式非常重要,以使答案易读。不同部分之间的段落之间的空格对于读者非常有帮助。有时,相同的内容可以因为格式选择而得到+1,而不仅仅是-1。祝好! - Fabiano Tarlao
1
谢谢Fabiano,希望这样能使它更易读。 :) - amar adak

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