PyInstaller概述
PyInstaller将Python应用程序及其所有依赖项捆绑到单个包中。用户无需安装Python解释器或任何模块即可运行打包的应用程序
文档: | https://pyinstaller.readthedocs.io/ |
---|---|
网站: | http://www.pyinstaller.org/ |
代码: | https://github.com/pyinstaller/pyinstaller |
PyInstaller读取您编写的Python脚本。它分析您的代码以发现您的脚本执行所需的所有其他模块和库。然后,它会收集所有这些文件的副本–包括活动的Python解释器!–并将它们与脚本放在单个文件夹中,或者也可以放在单个可执行文件中
PyInstaller在Windows、MacOSX和GNU/Linux上进行了测试。但是,它不是交叉编译器:要制作Windows应用程序,您需要在Windows中运行PyInstaller;要制作GNU/Linux应用程序,需要在GNU/Linux等环境中运行它。PyInstaller已成功用于AIX、Solaris、FreeBSD和OpenBSD,但作为持续集成测试的一部分,没有针对它们进行测试
主要优势
- 开箱即用,可与任何Python版本3.6-3.9配合使用
- 完全多平台,利用操作系统支持加载动态库,确保完全兼容
- 正确捆绑主要的Python包,如numpy、PyQt5、PySide2、Django、wxPython、matplotlib和其他开箱即用的包
- 与许多开箱即用的第三方软件包兼容。(使外部包工作所需的所有技巧都已集成。)
- 完全支持PyQt5、PySide2、wxPython、matplotlib或Django等库,无需手动处理插件或外部数据文件
- 在OS X上使用代码签名
- 在Windows上捆绑MS Visual C++DLL
安装
PyInstaller在PyPI上可用。您可以通过pip安装它:
pip install pyinstaller
要求和测试平台
- 巨蟒:
- 3.6-3.9
- tinyaes1.0+(仅当使用字节码加密时)。与其安装天鹅座,
pip install pyinstaller[encryption]
取而代之的是
- Windows(32位/64位):
- PyInstaller应该可以在Windows 7或更新版本上运行,但我们只正式支持Windows 8+
- 由于以下原因,当不使用虚拟环境时,我们不支持从Windows商店安装Pythonpermission errors那不是很容易修好的
- GNU/Linux(32位/64位)
- LDD:用于打印每个程序或共享库所需共享库的控制台应用程序。这通常可以在分发包glibc或libc-bin中找到
- objdump:显示对象文件信息的控制台应用程序。这通常可以在分发包的binutils中找到
- objcopy:复制和翻译目标文件的控制台应用程序。这通常也可以在分发包的binutils中找到
- Mac OS X(64位):
- Mac OS X 10.13(High Sierra)或更高版本
用法
基本用法非常简单,只需针对您的主脚本运行即可:
pyinstaller /path/to/yourscript.py
有关更多详细信息,请参阅manual
未经测试的平台
已经贡献了以下平台,欢迎对这些平台进行任何反馈或增强
- FreeBSD
- LDD
- Solaris
- LDD
- 对象转储
- AIX
- AIX 6.1或更高版本。PyInstaller不能使用静态链接的Python库
- LDD
- PowerPC GNU/Linux(Debian)
在使用任何贡献的平台之前,您需要构建PyInstaller引导加载器,因为我们不提供二进制包。下载PyInstaller源代码,并构建引导加载器:
cd bootloader python ./waf all
然后安装PyInstaller:
python setup.py install
或者直接从源代码(pyinstaller.py)使用它
支持
看见http://www.pyinstaller.org/support.html有关如何获得帮助以及商业支持的信息
此版本中的更改
您可以在以下位置找到此版本中更改的详细列表Changelog手册的一节