pyinstaller分发打包Python.py成.exe文件 自动收集依赖.pyd.pyc.pyo

pyinstaller 可把 *.py 文件打包成一个可执行 *.exe 文件 (或一个文件夹)。当然,首先得安装 CPython 实现,pyinstaller 模块及其相关依赖包。

pyinstaller 是 Python 语言环境下,把 *.py 文件分发-打包成可执行 *.exe 文件的一个著名流行开源框架,采用 C 和 Python 混合编程而成。

pyinstaller 帮助文档编制很详细,其基本用法较简单,不看文档编制也能轻松学会使用。但要深入,最好适当研究一下其工作原理及源代码。

"德云社区" 开发的 "数字 IDE" 系列后期会集成 pyinstaller 分发-打包工具,具体情况请关注 "德云社区"。

pyinstaller 和使用 Cython 生成 *.pyd 文件,再结合 *.pyc *.pyo 文件,分发-打包效果会更理想 (在采用二进制加密源代码、减小体积前提条件下,提高运行性能)。

依赖

编写好的 Python 脚本 *.py *.pyw 文件如要在没有安装 Python 执行环境的机器上运行,可将脚本分发-打包成带有相关依赖文件的 *.exe 可执行文件。

图片来自网络

pyinstaller 打包依赖文件情况由脚本内容确定,它会一次性自动收集符合源代码要求的所有文件,而不用一个个去单独查找-拷贝。若依赖文件在 Python 脚本 *.py *.pyw 源代码文件子进程或 __import__ 语句中,则 pyinstaller 不会自动收集,需单独手动收集 (一般来说,很多图标、图像文件也需单独收集)。

注意:pyinstaller 分发-打包 Python 脚本 *.py *.pyw 源代码文件后,会将 Python 运行环境变为 pyinstaller 虚拟环境。打包后,源代码文件中的相对路径设置也会发生改变,所以,请在编写脚本时考虑打包后的相对路径变化;否则,点击执行 *.exe 文件时会提示找不到 xxx 模块、xxx 模块不存在、某些图片不显示、启动画面一闪而过就自动关闭、等问题。

打包后的 *.exe 可执行文件具体支持哪些平台,取决由打包前的 *.py *.pyw 文件源代码,及依赖包情况。

版权声明:

本文为独家原创稿件,版权归德云社区,未经许可不得转载;否则,将追究其法律责任。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180604G1UAOL00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券