酷徒LOGO

在Linux上,如何交叉编译 python 脚本到 Windows 可执行文件中


使用 wine 和 Pyinstaller 。

Pyinstaller 是一个程序 python 在最常用的操作系统 下,程序独立执行可以执行程序( Windows, Linux, Mac OS X, FreeBSD, AIX。
最初 Pyinstaller 具有允许在Linux下交叉编译 Windows 可执行文件的测试特性。
但是,由于特性的不稳定性,它从 1.5版本之后被删除。

幸好,还可以使用以下方法打包 Windows 可执行文件 PyInstaller 下 wine

1.安装 wine 和 python


$ sudo apt-get install wine
$ wget https://www.python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi
$ wine msiexec/i python-2.7.9.amd64.msi/qb


如果需要编译 32bit 可执行文件,则需要安装 wine32:


sudo dpkg --add-architecture i386 && sudo apt-get update && sudo apt-get install wine32


2.在 wine 上安装 PyInstaller


$ cd ~/.wine/drive_c/Python27
$ wine python.exe Scripts/pip.exe install pyinstaller



3 。打包 python 脚本

软件包 python 脚本( 比如 。 helloworld.py ) pyinstaller 。


$ cat helloworld.py
#!/usr/bin/env python
print('Hello World!')

$ wine ~/.wine/drive_c/Python27/Scripts/pyinstaller.exe --onefile helloworld.py


Windows 可执行文件位于 分布/分布


$ wine dist/helloworld.exe
Hello World!

最后,在 Windows 框中传输可执行文件并进行测试:


引用





Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备17041772号-2  |  如果智培  |  酷兔英语  |  帮酷