当前位置: 首页 > 工具软件 > PyOxidizer > 使用案例 >

PyOxidizer使用Rust制作Python可执行文件

颛孙炜
2023-12-01

一个用Rust编写的新项目旨在简化将Python应用程序打包和分发为独立的二进制可执行文件的过程-长期以来,这一直是Python开发人员的难题。

根据其GitHub README, PyOxidizer是“ Rust板条箱的集合,这些板条箱有助于构建包含Python解释器的库和二进制文件。” 开发人员声称,使用PyOxidizer可以为嵌入了Python解释器的Python应用程序构建可执行文件,而没有其他运行时依赖项。

[ 什么是Rust? 安全,快速,轻松地进行软件开发的方式 | 下一页:在InfoWorld教程中了解如何开始使用Rust | 通过InfoWorld的App Dev Report新闻通讯了解编程方面的热门话题。 ]

PyOxidizer需要安装Rust 1.31或更高版本,并且仅打包使用Python 3.7编写的应用程序。 要使用PyOxidizer,开发人员会创建一个TOML文件来描述如何嵌入给定的Python应用程序,然后使用指向该TOML文件的环境变量来构建并运行PyOxidizer。

PyOxidizer在使用自定义构建的Python解释器的过程中与其他打包解决方案不同,该解释器设计为静态链接并嵌入到另一个程序中。 其他解决方案,例如PyInstaller,重新分配了现有的现有CPython .DLL,它们既方便又兼容,但并不十分灵活。 PyOxidizer还将Python应用程序的字节码打包到可执行映像中,并直接从内存(快速)而不是从文件系统(较慢)加载它。

但是,与PyInstaller一样,PyOxidizer不会对Python代码执行任何优化。 另一个项目Nuitka不仅将Python应用程序编译为独立的可执行文件,而且还尝试将性能优化应用于已编译的代码。 但是,Nuitka仍被认为是Beta级项目,许多预期的性能改进尚不可用。

PyOxidizer本身仍然是一个非常早期的项目。 它只能生成Linux二进制文件,因为它所依赖的上游项目之一(可嵌入版本的CPython)目前仅在Linux构建中可用。

From: https://www.infoworld.com/article/3330601/pyoxidizer-uses-rust-to-make-python-executables.html

 类似资料: