您的位置:首页 > 编程语言 > Qt开发

Pyqtdeploy Complie Win32 Version PyQtWin32静态编译记录

2015-12-25 18:32 627 查看

PyQtWin32静态编译记录 PyQt5篇

上一篇中记录了 PyQtDeploy 给 Android-32 编译的过程,虽然没有成功,这次我来玩一下 Windows 平台,人懒上次没写

编译出来的最小程序未压缩为 9 MB,Upx压缩后 1.8MB

PyQtDeploy对于 QAxContainer QtLocation QtPositioning 以及 _QOpenGLFunctions_ES2 支持貌似还有问题,编译过程删除了

编译后的SYSROOT打包:http://pan.baidu.com/s/1mh3dYhM

相关参考资料

https://pypi.python.org/pypi/pyqtdeploy/

http://pyqt.sourceforge.net/Docs/pyqtdeploy/tutorial.html

相关下载点

http://www.qt.io/download-open-source/

https://riverbankcomputing.com/software/sip/download

https://riverbankcomputing.com/software/pyqt/download5

https://www.python.org/downloads/source/

编译环境

1.Windows 10 Pro

2.Qt5.5.1 Python3.4.0 PyQt-gpl-5.5 sip-4.17 pyqtdeploy1.1 vs2010

核心步骤

静态编译Qt5.5.0 Python3.4.0 PyQt-gpl-5.5 sip-4.16.9 的 Win-32 平台版本 http://pyqt.sourceforge.net/Docs/pyqtdeploy/static_builds.html

编译 Qt工程

具体操作

安装准备工作

安装以下
X16-60997VS2010UltimTrialCHS.iso
qt-opensource-windows-x86-msvc2010-5.5.1.exe
Python-3.4.0.msi + pip
PyQt5-5.5.1-gpl-Py3.4-Qt5.5.1-x32.exe


下载源码

https://www.python.org/ftp/python/3.4.0/Python-3.4.0.tar.xz http://sourceforge.net/projects/pyqt/files/sip/sip-4.17/sip-4.17.zip http://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.5.1/PyQt-gpl-5.5.1.zip


配置环境变量

将下列路径添加进入系统环境变量,重启
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib
D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include
D:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE
D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin
C:\Qt\Qt5.5.1\5.5\msvc2010\bin
D:\Python34
D:\Python34\Scripts




并 CMD 测试 命令配置情况:
nmake -help
vcvars32
qmake --version
python --version
pip --version




PIP 安装 PyQtDeploy

pip install pyqtdeploy


静态编译 Python

选择一个文件夹作为我们的工作文件夹,这里使用 D:\Qt\SYSROOT

将下载好的源码文件放置在 D:\Qt\SYSROOT\src 内并解压

CMD 操作
D:
D:\Qt\SYSROOT\src\Python-3.4.0
pyqtdeploycli --package python --target win-32 configure
qmake SYSROOT=D:\Qt\SYSROOT
vcvars32
nmake
nmake install


如果出现 io.h 未找到的错误,则在生成的 python.pro 里面加入以下两行,并从 qmake 继续编译

INCLUDEPATH += "D:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\include"
INCLUDEPATH += "C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\Include"




静态编译 sip

CMD 操作
D:
cd D:\Qt\SYSROOT\src\sip-4.17
pyqtdeploycli --package sip --target win-32 configure
python configure.py --static --sysroot=D:/Qt/SYSROOT --no-tools --use-qmake --configuration=sip-win.cfg
qmake
vcvars32
make
make install


静态编译 PyQt5

CMD 操作
D:
cd D:\Qt\SYSROOT\src\PyQt-gpl-5.5.1
pyqtdeploycli --package pyqt5 --target win-32 configure


此时编辑 pyqt5-win.cfg 可以裁剪配置去除无需编译的库

这里删除了 QAxContainer QtLocation QtPositioning 以及 _QOpenGLFunctions_ES2 后编译 OK,时间会比较长

[Qt 5.5]
pyqt_modules = QtCore QtGui
QtMultimedia QtMultimediaWidgets QtNetwork QtOpenGL
QtPrintSupport QtQml QtQuick QtQuickWidgets
QtSvg QtTest QtWebChannel QtWebSockets QtWidgets
QtWinExtras QtXml QtXmlPatterns




继续编译
vcvars32
make
make install


PyQtDeploy生成Qt工程

1.创建工程文件夹 D:\Qt\SYSROOT\project,创建pyqt代码PyQtDeployTest.py

from PyQt5 import QtWidgets,QtGui,QtCore
import sys

if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
w = QtWidgets.QWidget()
b = QtWidgets.QPushButton(w)
b.setText("hello pyqtdeploy")
w.show()
app.exec_()


```
CMD 操作
pyqtdeploy PyQtDeployTest.pdy
```












10. 编译生成的Qt工程

上步骤生成的代码在 D:\Qt\SYSROOT\project\build

如果你给nmake重命名了可以在最后一栏里面选择一次性 make

CMD 操作
D:
cd D:\Qt\SYSROOT\project\build
qmake
vcvars32
nmake


然后你就得到了编译好的 exe 文件了

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: