【问题标题】:Update existing PyInstaller Package更新现有的 PyInstaller 包
【发布时间】:2019-02-19 15:05:33
【问题描述】:

我有一个适用于 Windows 的 PyInstaller 包构建,我想对其进行编辑。

我们的开源项目每两周发布一个新版本,我想使用单个 Linux 服务器自动执行该过程,以生成适用于 Linux、OS X 和 Windows 的包。由于每周对程序的更改很小,而且 PyInstaller 不支持交叉编译,我想更新现有工作 PyInstaller 包中的 python 文件,而不是运行新的构建。从阅读the Docs 来看,在我看来这应该是可能的,但是我不清楚一旦 PyInstaller 压缩了我的 python 文件,我究竟可以如何访问和编辑它们。谁能指出我正确的方向?

【问题讨论】:

    标签: python windows ubuntu build pyinstaller


    【解决方案1】:

    这不是那么简单。 docs you linked 说“PyInstaller 将编译后的 python 代码(.pyc 文件)嵌入到可执行文件中。”

    这意味着编译过程是这样的:

    1. Python 将您的 .py 文件编译为字节码,并将其保存为 .pyc 文件。
    2. PyInstaller 获取所有 .pyc 文件字节码并将其放入 .exe 文件中。

    因此,如果您想在不再次运行 PyInstaller 的情况下更新构建,则需要替换 .exe 文件中的字节码。这对我来说听起来很复杂且容易出错。

    相反,为什么不在 Linux 服务器上的虚拟机中安装 Windows 并在其中运行 PyInstaller?

    【讨论】:

    • 感谢您对替代方案的解释和建议。我会研究那个选项。
    • @BarSmith 顺便说一句,有很多工具可以用来设置虚拟机构建和类似的东西。搜索“跨平台持续交付管道”应该可以帮助您入门。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    相关资源
    最近更新 更多