Pyinstaller - 通过 .bat 文件隐藏和运行可执行文件

Posted

技术标签:

【中文标题】Pyinstaller - 通过 .bat 文件隐藏和运行可执行文件【英文标题】:Pyinstaller - Hide and Run Executable file through .bat file 【发布时间】:2019-07-20 08:07:35 【问题描述】:

我正在尝试将一个可执行 (.exe) 文件、一个 .conf 文件和一个 .bat 文件添加到 pyinstaller 创建的二进制包中,然后通过该二进制包我想调用将发送一些命令到 .exe,该 exe 将从 .conf 中选择配置文件并执行其工作。

** 示例**

    单击 Python 包中的“运行”按钮。

    Python 包在其中运行 .bat 文件。

    .bat 文件调用带有参数的 .exe

    .exe 从 .conf 文件中选择配置并执行其工作

【问题讨论】:

错误是什么?你被困在哪里?到目前为止,您尝试过什么? @py_saad 我不知道如何运行该 .bat 文件以及它将如何运行 .exe 所有的指令都是用.bat写的,双击运行。在 .bat 文件的末尾,添加 pause 以检查执行时是否有任何错误。如果不加暂停,控制台会出现,然后会立即消失 @py_saad 你没听明白,我将这些文件添加到使用 pyinstaller 通过 --add-data 属性制作的 python 包中。如何在 python .exe 包中运行该 .bat 文件 【参考方案1】:

在通过 pyinstaller 创建二进制文件之前:

    Add files (.conf and .bat and .exe) to the bundle 使用 .spec 文件中的 Analysis 调用。 当您运行通过 pyinstaller 创建的二进制文件时,默认情况下它会在 Windows 上的 AppData 中的一个临时位置解压。您应该能够通过sys._MEIPASS 获得该路径 在 python 脚本中运行 .conf、.bat 和 .exe 文件,最好使用subprocess。

【讨论】:

谢谢,我已经找到了这个答案,和你的一样:)

以上是关于Pyinstaller - 通过 .bat 文件隐藏和运行可执行文件的主要内容,如果未能解决你的问题,请参考以下文章

pyinstaller打包生成的exe文件并使用python终止后台的exe程序运行

虚拟环境下通过pyinstaller 打包

虚拟环境下通过pyinstaller 打包

Pyinstaller 难以通过 Kivy 构建 FileChooserListView

pyinstaller 生成的 exe 文件执行有问题

pyinstaller 还原python代码的方法