使用 python 脚本为 Windows 创建可执行安装程序

另一个技术条目。

快速上下文,我在python(烧瓶)中有一个背面和一个正面(测试版)。我在浏览器中提高了位置。

烧瓶运行端口上的后部升降机 --port=5001
端口烧瓶运行时前端上升 --port=5000

应用程序在浏览器中运行。

http://localhost:5000/

基本,到目前为止没有什么新内容。

我必须在另一台机器上安装这个应用程序。想法 1 安装 python 以及所有库和依赖项......不。

副驾驶再次来救援。我将提示您将这些 python 脚本安装为 windows 可执行文件的提示。

我推荐一些有趣的东西。

首先,建立虚拟环境,安装依赖项,确保一切在本地正常工作,然后...

首先使用pyinstaller生成我的应用程序的.exe文件。

pip install pyinstaller

在我运行的每个目录中:

/我的项目/后端
/我的项目/前端

pyinstaller --onefile --name backend app.py

这里我必须指定将模板作为参数传递,因为它给出了 jynga2 错误

pyinstaller --onefile --name frontend --add-data
“模板;模板”app.py

示例:
使用 python 脚本为 Windows 创建可执行安装程序

下一步,安装 inno setup 以生成安装程序。

网络 - inno setup

好吧,我也必须承诺一些东西才能有基础,因为我不知道如何编写脚本或 inno setup 的语法。

[Setup]
AppName=My Awesome APP 
AppVersion=1.0
DefaultDirName={pf}\MyAwesomeAPP 
DefaultGroupName=My Awesome APP
OutputBaseFilename=MyAwesomeAPP
Compression=lzma
SolidCompression=yes

[Files]
; Incluir todos los archivos del proyecto
Source: "C:\Users\url-a-tu-proyecto\*"; DestDir: "{app}"; Flags: recursesubdirs createallsubdirs
; Incluir los ejecutables generados por pyinstaller
Source: "C:\Users\url-a-tu-proyecto\frontend\dist\frontend.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\url-a-tu-proyecto\backend\dist\backend.exe"; DestDir: "{app}"; Flags: ignoreversion

[Icons]
Name: "{group}\My Awesome APP"; Filename: "{app}\frontend.exe"
Name: "{group}\My Awesome APP"; Filename: "{app}\backend.exe"

[Run]
; Ejecutar el backend
Filename: "{app}\backend.exe"; Flags: nowait
; Ejecutar el frontend
Filename: "{app}\frontend.exe"; Flags: nowait

这是我的基础结构。

编译,等待几分钟...就会生成输出。

使用 python 脚本为 Windows 创建可执行安装程序

这是第一个安装程序:d

一开始它显然不起作用……但经过 16 次测试后,该应用程序仍然运行。正在运行的脚本...

使用 python 脚本为 Windows 创建可执行安装程序

并且从我的浏览器我可以访问我的应用程序。

使用 python 脚本为 Windows 创建可执行安装程序

这个问题的有趣之处在于工具!明显地。我喜欢的是,我发现使用 inno setup 既快速又简单,我学会了处理一些 pyinstaller 配置问题,例如模板的标志......错误很奇怪 :p

并且使用新技术和python总是令人愉快......

接下来可能是一些带有这些脚本的桌面应用程序,以稍微优化最终大小、文件架构,并且显然终端不是实时直接运行的,带有来自开发环境的消息并且必须从浏览器输入本地主机! :恐慌

以上就是使用 python 脚本为 Windows 创建可执行安装程序的详细内容,更多请关注其它相关文章!