You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Python生成的Windows .exe程序默认请求管理员权限运行?

让Python打包的.exe默认请求管理员权限

方法一:打包时嵌入UAC manifest(推荐)

  • 新建一个XML文件,命名为admin.manifest,写入以下内容:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
        <security>
            <requestedPrivileges>
                <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
            </requestedPrivileges>
        </security>
    </trustInfo>
</assembly>
  • 使用PyInstaller打包时,添加--manifest参数指定这个文件:
pyinstaller --onefile --manifest admin.manifest your_script.py

生成的exe启动时会自动弹出UAC权限请求窗口,无需手动右键选择管理员运行。

方法二:修改已生成的.exe兼容性设置

如果已经完成打包,不想重新编译,可以直接修改exe的属性:

  • 右键目标.exe文件,打开「属性」窗口
  • 切换到「兼容性」标签页
  • 勾选「以管理员身份运行此程序」
  • 点击「更改所有用户的设置」,确保所有用户启动该程序时都默认使用管理员权限

方法三:通过PyInstaller的.spec文件配置

如果平时习惯用.spec文件管理打包配置,可按以下步骤操作:

  • 先生成基础的.spec文件:
pyinstaller --onefile your_script.py
  • 打开生成的your_script.spec,找到exe配置段,添加manifest参数指向之前的admin.manifest文件:
exe = EXE(pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          [],
          name='your_script',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          upx_exclude=[],
          runtime_tmpdir=None,
          console=True,
          manifest='admin.manifest')
  • 最后用.spec文件重新打包:
pyinstaller your_script.spec

内容的提问来源于stack exchange,提问作者Muzzamil Hussain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 00:44:52