我正在移植一个Python 2应用程序,它使用从Linux到Windows的PyQt5。
问题:如何在Windows上安装PyQt5?
我尝试过:
pip install PyQt5
失败并:
Downloading/unpacking PyQt5
Could not find any downloads that satisfy the requirement PyQt5
Cleaning up...
No distributions at all found for PyQt5
Storing debug log for failure in C:\Users\user\pip\pip.log
正在寻找Windows安装程序on the official website,但只有PyQt4安装程序可用于Python 2.
我该怎么办?
答案 0 :(得分:18)
这是一个非常古老的问题,但是如果我在一周前得到一个不错的答案,我会发现它非常有用。这就是我为实现预期结果所做的工作。正如您所指出的,PyQt5和Python 2.7不支持包,因此您必须自己构建它。值得庆幸的是,这个过程非常简单。假设你已经安装了Python 2.7。
有三个命令可用于构建和安装SIP。不要从标准shell运行这些命令,而是使用Visual Studio工具命令shell,以便您的路径包含编译器,以及设置INCLUDE,LIBS和LIBPATH环境变量。
python configure.py
如果您正在使用Python的虚拟环境,则可能必须修改SIPLib的makefile,因为它硬编码依赖于Python include子目录和libs子目录的位置。我选择将它们指向系统Python安装(c:\ Python27 \ include和c:\ Python27 \ libs。)它现在应该像
一样简单 nmake
nmake install
此步骤的最后一部分是检查sip.exe程序是否已放置在路径中的位置(如果您正在使用虚拟Python环境,这可能只是一个问题。我将程序复制到脚本目录。)
获取与之前获得的Qt版本相对应的PyQt版本的源代码。它可以从sourceforge上的PyQt项目获得,最新版本可以从riverbankcomputing.com获得。
重复相同的过程:
python configure.py
nmake
nmake install
您曾经用于构建SIP。在这种情况下,生成的makefile数量太大(所有可能都有python27.lib文件和标题的错误位置,具体取决于您的虚拟环境。)我刚刚将python27.lib文件复制到了makefile期待。同样,有三个应用程序安装在不属于系统路径(pyuic5,pyrcc5和pylupdate5)的位置,我也将它们复制到路径中的某个位置。
完成。您应该能够构建PyQt5 / Python2.7应用程序。
答案 1 :(得分:2)
关于安装适用于Python2.7的PyQt5和SIP的有趣指南: https://blog.synss.me/2018/how-to-install-pyqt5-for-python-27-on-windows/
要调用它,需要首先安装所有pip和virtualenv模块,以为将在其中安装python的虚拟环境创建。然后,它与Peter Du答案类似。但是,我想在配置选项中强调一下:
python configure.py ^
--confirm-license ^
--no-designer-plugin ^
--no-qml-plugin ^
--assume-shared ^
--disable=QtNfc ^
--qmake=C:\Qt\%_QTVERSION%\msvc2015\bin\qmake.exe ^
--sip=%VIRTUAL_ENV%\Scripts\sip.exe
在这种情况下,请记住Qt版本应与PyQt中的版本相似。
要强调的另一点是版本。我已经探究了SIP 4.19.13和PyQt5 5.11.3的最新版本,但是,即使我可以正确安装它,也无法启动模块并导入它,因为我收到了与缺少sip有关的错误消息模块,如果使用Visual Studio的开发人员控制台,则缺少DLL(如果在通用控制台中使用),如DLL load failed when importing PyQt5
所示我也尝试使用SIP 4.19.8和PyQt5 5.10.1,如上面所示的示例,但是,此版本中的PyQt5在Visual Studio 2017社区版中存在一些问题。
最后,我实现了安装并成功使用SIP 4.19.13和PyQt5 5.7.1和Python 2.7.15进行了启动,正如pixebeit在Peter Du答案中所评论的那样,使用了Qt 5.7(已安装,选择了Qt维护工具显示的列表中的版本)和Visual Studio 2017社区版,并以MSVC2015作为编译器。
注意:
如果要运行使用通过此方法安装的PyQt5的独立应用程序,请从常规CMD运行,您有两个选择:
C:\Qt\%_QTVERSION%\msvc2015\bin
复制到%VIRTUALENV%\Lib\site-packages\PyQt5
(如果安装在虚拟环境中)或C:\Python27\Lib\site-packages\PyQt5
(如果安装在基本文件中)。 li>
C:\Qt\%_QTVERSION%\msvc2015\bin
添加到Windows的PATH环境变量中。答案 2 :(得分:0)