Python 打包与独立可执行文件
问题:即使是在30年之后,Python仍然没能拿到理想的方法,用以将程序或脚本转换为自打包可执行文件,并轻松部署在多种平台之上。
虽然这一目标已经有办法实现,但依靠的主要是第三方工具,而非Python的原生功能——此外,其使用难度也不太友好。
最具知名且最受支持的当数PyInstaller,它能够打包多种广受喜爱的高人气第三方扩展,例如NumPy。不过PyInstaller必须与这些第三方扩展手动保持同步,而这在Python的庞大生态系统中无疑是一项艰巨的任务。此外,PyInstaller会生成超大的应用程序包,因为其中捆绑有程序import语句中所要求的全部内容,而且并不确定在运行时究竟会用到哪些组件。此外,PyInstaller也无法实现跨平台应用程序打包;我们必须在目标部署平台上进行包创建。
解决方案:我对PyInstaller抱有充分的尊重,但我们可能还需要一套Python原生解决方案——无论是内置形式,还是通过标准库提供。它应当允许开发人员以独立二进制文件的形式将Python应用程序打包并交付至各类常见的平台。理想情况下,这款内置的打包器应该利用运行时代码覆盖率信息确保仅打包所需的库(而非所有内容),并能够自动与其余Python库保持同步。
目前还没有这样的解决方案存在,但关于如何构建此类工具的提示倒是所在多有。PyOxidizer项目使用Rust语言生成能够嵌入Python的二进制文件,并将此作为创建独立Python应用程序的一种方法。虽然该项目尚处于起步阶段,距离成为完整的应用程序交付方案还有很长的路要走,但这足以证明Python生态系统之外的成果也许会成为解决挑战的关键。
以上内容为大家介绍了Python打包与独立可执行文件,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:开发教育。http://www.baikegou.com/
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!