Python打包工具

目前几个主要的活跃

  • PyInstaller,成熟,用户最多;其原理就是复制文件。支持打包成onefile的可执行文件、目录两个方式。PyArmor有对其官方适配。
  • cx_Freezer,原理与PyInstaller类似,但用户少、功能少。
  • Nuitka,since 2019。核心功能是其使用Python实现的与CPython兼容的编译器,直接将Python代码编译为二进制。虽然编译后的代码执行更快,但不能保证这个重新实现的编译器与CPython逻辑一样。
  • PyOxidizer,since 2019。统一打包与分发Python应用程序。使用Rust编写,其有几个子项目,包括打包、分发、oxidized_importer(Python import extention)等。
    • 其核心是oxidized_importer,使得可以从内存中直接import .py/.pyc,而不用像其它打包工具在run-time时依赖Python的 zipimporter 将打包成onefile的Python可执行程序解压到文件系统后再import。但如果PyInstaller没有将项目打包成onefile而是直接将dist这个目录分发,则应用运行时就没有解压onefile打包文件这步,这样PyOxidizer的这个功能也就没什么优势了。

你可能感兴趣的:(Python,python,开发语言,后端)