PyOxidizer

生成嵌入Python的二进制文件的实用程序
授权协议 MPL
开发语言 Rust
所属分类 开发工具、 安装制作工具
软件类型 开源软件
地区 不详
投 递 者 皇甫宇定
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

PyOxidizer是一个用于生成嵌入Python的二进制文件的实用程序。 PyOxidizer的主要目标是使复杂的打包和分发问题变得简单,因此应用程序维护人员可以专注于构建应用程序而不是使用构建系统和打包工具进行工作。

PyOxidizer能够生成单个文件可执行文件 - 包含Python的副本及其静态链接的所有依赖项以及嵌入在可执行文件中的所有资源(如.pyc文件)。您可以将单个可执行文件复制到另一台计算机并运行其中包含的Python应用程序。它只是有效。

PyOxidizer公开了它的低级功能,用于将自包含的Python解释器作为工具和软件库嵌入。因此,如果您不想发送仅包含Python应用程序的可执行文件,您仍然可以使用PyOxidizer来实现生成一个包含Python的库,适合在任何应用程序中进行链接,或者直接使用PyOxidizer的嵌入库将Python嵌入到更大的应用程序中。

该名称的Oxidizer部分来自Rust:PyOxidizer生成的可执行文件是从R​​ust编译的,Rust代码负责管理嵌入式Python解释器及其所有操作。如果您不了解Rust,那没关系:PyOxidizer尝试使Rust的存在对最终用户几乎不可见。

虽然解决包装和分发问题是PyOxidizer的主要目标,但解决Rust问题的副作用是PyOxidizer可以作为这两种语言之间的桥梁。 PyOxidizer可用于轻松地向任何Rust项目添加Python解释器。但事实恰恰相反:PyOxidizer也可用于向Python添加Rust。使用PyOxidizer,您可以引导一个新的Rust项目,该项目包含嵌入式Python和您的应用程序。最初,您的项目是几行Rust,它实例化Python解释器并运行Python代码。随着时间的推移,功能可以(重新)写在Rust中,而以前的Python项目可以利用Rust及其多样化的生态系统。由于PyOxidizer抽象了Python解释器,这对最终用户来说都是不可见的:你可以将应用程序从Python重写为Rust,人们可能甚至都不知道,因为他们从未看到过libpython,.py文件等。

  • 一个用Rust编写的新项目旨在简化将Python应用程序打包和分发为独立的二进制可执行文件的过程-长期以来,这一直是Python开发人员的难题。 根据其GitHub README, PyOxidizer是“ Rust板条箱的集合,这些板条箱有助于构建包含Python解释器的库和二进制文件。” 开发人员声称,使用PyOxidizer可以为嵌入了Python解释器的Python应用程序构建可执行文件,

  • This release of PyOxidizer is significant rewrite of the previous version. The impetus for the rewrite is to transition from TOML to Starlark configuration files. The new configuration file format sho

  • PyOxidizer是一个用于生成嵌入Python的二进制文件的实用程序。 PyOxidizer的主要目标是使复杂的打包和分发问题变得简单,因此应用程序维护人员可以专注于构建应用程序而不是使用构建系统和打包工具进行工作。 PyOxidizer能够生成单个文件可执行文件 - 包含Python的副本及其静态链接的所有依赖项以及嵌入在可执行文件中的所有资源(如.pyc文件)。您可以将单个可执行文件复制到

  • PyOxidizer是一个用于生成嵌入Python的二进制文件的实用程序。 PyOxidizer的主要目标是使复杂的打包和分发问题变得简单,因此应用程序维护人员可以专注于构建应用程序而不是使用构建系统和打包工具进行工作。 PyOxidizer能够生成单个文件可执行文件 - 包含Python的副本及其静态链接的所有依赖项以及嵌入在可执行文件中的所有资源(如.pyc文件)。您可以将单个可执行文件复制到

 相关资料
  • 问题内容: 我有一些从Go程序中读取的文本文件。我想提供一个可执行文件,而无需另外提供该文本文件。如何将其嵌入Windows和Linux上的编译中? 问题答案: 使用go-bindata。从自述文件: 该工具可将任何文件转换为可管理的Go源代码。对于将二进制数据嵌入到go程序中很有用。在转换为原始字节片之前,可以选择对文件数据进行gzip压缩。

  • 问题内容: 这可能是一个非常业余的问题。我正在尝试将静态文件嵌入到二进制文件中。html。如何使用https://github.com/jteeuwen/go- bindata 做到这一点? 因此,我可以使用此https://github.com/jteeuwen/go-bindata#accessing-an- asset 访问资产,但是该如何处理“数据”,以及如何解析文件,执行模板以及服务他们

  • 问题内容: 按照此处的答案(如何在pyinstaller中包含chromedriver?)更新了Pyinstaller规范文件后,仍然无法从生成的应用程序文件访问chromedriver。问题可能出在哪里?那是从答案中复制过来的,我不确定它特定于Windows操作系统。 在终端中运行UNIX可执行文件可以访问chromedriver。 完整的规格文件是: 该行用于终端以生成应用程序。 问题答案:

  • 问题内容: 我发现用Python读取二进制文件特别困难。你能帮我个忙吗?我需要读取此文件,在Fortran 90中,该文件很容易被读取 详细而言,文件格式为: 如何使用Python阅读?我尝试了一切,但没有成功。我是否有可能在python中使用f90程序,读取此二进制文件,然后保存需要使用的数据? 问题答案: 读取二进制文件内容,如下所示: 然后使用struct.unpack “解压缩”二进制数据

  • 问题内容: 我在将这两种算法结合在一起时遇到麻烦。我被要求修改以返回将元素插入数组的索引。然后有人要求我实现一个使用my 对随机生成的数组进行排序的。 我按照预期的方式工作,每当我单独测试它时都返回正确的索引。我写信是为了了解它是如何工作的,并使其也能工作。一旦将两者结合在一起,它就会崩溃。我知道我在一起实施起来不正确,但是我不确定问题出在哪里。 这是我得到的: 我在运行它时得到的返回值是。有什么

  • 问题内容: 我正在尝试使用pymssql从金字塔Web应用程序中使用 存储过程 将二进制数据插入MSSQL数据库。 相应列的MSSQL数据类型为。 我的问题是: 在插入二进制文件之前,MSSQL数据库的varbinary数据类型希望我如何处理它? 这是我一直在尝试的方法: …,然后将的值传递给存储过程。 在这种情况下,是文件的有效路径。 MSSQL db回答以下错误: 我能够将变量的值插入到SQL

  • 问题内容: 我有一个字节列表作为整数,这类似于 如何将此列表作为二进制文件写入文件? 这行得通吗? 问题答案: 这正是用于: 如果您使用的是Python 3.x,则可以改用(也许应该这样做,因为它可以更好地表明您的意图)。但是在Python 2.x中,这是行不通的,因为它只是的别名。像往常一样,使用交互式解释器进行显示比使用文本进行解释要容易,所以让我这样做。 Python 3.x: Python

  • 问题内容: 我有23位表示为字符串,并且需要将此字符串作为4个字节写入二进制文件。最后一个字节始终为0。以下代码有效(Python 3.3),但感觉不太好(我对Python和编程很陌生)。您有任何改善技巧吗?似乎for循环可能有用,但是如何在循环中进行切片而不出现IndexError?请注意,当我将位提取到一个字节中时,我会反转位顺序。 问题答案: 您可以将其视为int,然后按以下方式创建4个字节