Windows 使用 PyInstaller 、 Inno Setup 打包 Python 程序

步骤

1. 使用 PyInstaller 打包并添加管理员权限

pyinstaller --uac-admin --onefile your_script.py

或修改 .spec 文件:

exe = EXE(...,
         uac_admin=True,
         ...)

2. 使用 Inno Setup 创建安装程序脚本(.iss)

[Setup]
AppName=MyApp
AppVersion=1.0
DefaultDirName={pf}\MyApp
PrivilegesRequired=admin
OutputDir=userdocs:Inno Setup Output

[Files]
Source: "dist\your_script.exe"; DestDir: "{app}"

[Icons]
Name: "{userdesktop}\MyApp"; Filename: "{app}\your_script.exe"

[Run]
Filename: "cmd.exe"; Parameters: "/c pip install wxPython"; \
    Flags: runascurrentuser runhidden; StatusMsg: "Installing Dependencies..."

3. 注意事项及增强方案

  1. 依赖安装优化

    建议将依赖打包进exe(PyInstaller默认行为),若必须运行时安装:

    [Run]
    ; 使用系统Python
    Filename: "python"; Parameters: "-m pip install wxPython"; \
        Flags: runascurrentuser runhidden
    ; 或指定绝对路径
    Filename: "C:\Python39\Scripts\pip.exe"; Parameters: "install wxPython"; \
        Flags: runascurrentuser runhidden
    
  2. 环境检测

    添加 Pascal 脚本检测 Python:

    [Code]
    function InitializeSetup(): Boolean;
    var
      ErrorCode: Integer;
    begin
      if not RegKeyExists(HKLM, 'SOFTWARE\Python\PythonCore\3.9\InstallPath') then
      begin
        MsgBox('Python 3.9 not found!', mbError, MB_OK);
        Result := False;
      end else
        Result := True;
    end;
    
  3. 静默安装依赖

    添加 /quiet 参数减少干扰:

    Filename: "python"; Parameters: "-m pip install wxPython --quiet"
    

4. 完整操作流程

  1. 打包 Python 程序

    pip install pyinstaller
    pyinstaller --uac-admin --onefile your_app.py
    
  2. 下载并安装 Inno Setup

    官网下载

  3. 编译安装程序

    将脚本保存为 .iss 文件,右键选择 "Compile"

5. 替代方案建议

对于复杂安装逻辑,可考虑以下方案:

  1. NSIS 脚本

    提供更灵活的系统级操作

  2. 商业工具

    InstallShield/Advanced Installer 提供图形化界面

  3. Python 打包方案

    使用 cx_Freezepy2exe 替代 PyInstaller

6. 安全提示

  • 管理员权限操作需明确告知用户

  • 从可信源安装 Python 依赖

  • 建议使用虚拟环境打包

    python -m venv venv
    venv\Scripts\activate
    pip install -r requirements.txt
    pyinstaller ...
    

通过以上步骤,获得一个具备管理员权限、支持自定义安装路径、自动安装依赖并创建桌面快捷方式的专业安装程序。

来源

  • Deepseek
posted @ 2025-04-20 19:16  Yogile  阅读(339)  评论(0)    收藏  举报