Windows Anaconda 回滚 Qt 版本 Qt5 到 Qt4

Windows Anaconda Roll Back Qt version Qt5 to Qt4

有人可以帮助我吗? 我几乎尝试了所有在线建议,但似乎无法找到有效的解决方案。

我有两台电脑。不久前,我安装了 Anaconda3,并且能够毫不费力地让 PyQt4 工作。不幸的是,我不记得我做了什么。

我现在需要将我在第一台 PC 上编写的代码传输到第二台 运行。但出于某种原因,我无法将 Qt 或 PyQt 版本从 5 回滚到 4。似乎 Qt 包非常复杂,并且不再具有 python 3.6 的简单二进制安装程序。 第一批 PC 的详细信息如下所示: 1st PC with working Qt4 第二台PC详情如下:2nd PC details。 因此,如果我明白我需要以某种方式将 Qt 版本更改为 4.8.7 并将 PyQt 更改为 4.11.4?我根本不需要Qt5所以不要介意它是否被删除或卸载。

表明它有效的相关代码只是 PyQt4 的导入,它会留下一条错误消息: "ModuleNotFoundError: No module named 'PyQt4'"

我试过这里的建议: How to install PyQt4 in anaconda? 但是得到 "unsatisfiableerror: the following specifications were found to be in conflict: -pyqt 4*-> python 2.6* -python 3.6*"

我也尝试过安装 SIP,但遇到了问题,因为我无法使用 anaconda 终端提示构建它。 Conda install sip 有效,但安装的是不支持 PyQt4.11.4 的旧版本。

我不介意完全卸载 anaconda 和所有东西 python 来解决这个问题。

不确定是否有所不同,但第一台 PC 是 windows 10,第二台 PC 是 windows 8。 任何帮助将不胜感激,因为我几乎失去了冷静。

Christoph Gohlke 制造了 qt4 车轮:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyqt4

我猜您使用的是 python 3.6 环境。 anaconda 官方频道中没有为 py36 构建的 pyqt 4 包,但在 conda-forge 中有一个。所以你应该能够通过添加额外的频道来安装所需的版本

conda install -c conda-forge pyqt=4

尝试使用 pip 安装,这可能有效

python -m pip install --upgrade pyqt4

大家好,我找到了适合我的解决方案。 这只有在您不需要 PyQt5 时才真正起作用。 我基本上完全删除了所有 python 和 anaconda 软件包,并重新安装了一个具有我需要的确切软件包的旧版本。如果您已经安装了很多其他软件包或插件(例如 pyserial),这并不理想。

我基本上使用:"conda info anaconda" 并搜索了所有同时具有 python 3(及更高版本)以及 Qt4 和 PyQt4 的版本。在我的例子中,anaconda 4.1.1 成功了(特别是带有 python 3.5 的 anaconda3)。然后你可以下载信息中给出的 .tar(https://repo.continuum.io/pkgs/free/win-64/anaconda-4.1.1-np111py34_0.tar.bz2) OR you can download the installer from (https://repo.continuum.io/archive/).

代码现在可以工作了(有点问题,但我预计这是因为我现在使用 python 3.5 而不是 python 3.6)。所以我会尝试升级 python 版本,看看是否有帮助。

简而言之,这样做似乎比尝试回滚 Qt 版本或我在上面尝试过的任何其他方法要容易得多。

我希望这对未来的人有所帮助。