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.mobiletrain.org/
相关推荐HOT
更多>>Python 枚举
1.枚举的定义首先,定义枚举要导入enum模块。枚举定义用class关键字,继承Enum类。用于定义枚举的class和定义类的class是有区别【下一篇博文继...详情>>
2023-11-06 13:46:00Python多核编程mpi4py实践
一、概述CPU从三十多年前的8086,到十年前的奔腾,再到当下的多核i7。一开始,以单核cpu的主频为目标,架构的改良和集成电路工艺的进步使得cpu...详情>>
2023-11-06 09:21:36python之增量式爬虫是什么?
引言:当我们在浏览相关网页的时候会发现,某些网站定时会在原有网页数据的基础上更新一批数据,例如某电影网站会实时更新一批最近热门的电影。...详情>>
2023-11-06 07:21:56Python之父Guido谈Python的未来
Python在移动计算领域的应用Guido:移动对Python来说仍是一个很难啃下来的平台,但是并没有浏览器平台的难度大,因为Python实际上是可以运行在...详情>>
2023-11-06 02:14:20