使用pyinstaller能很方便的將python腳本打包成單個exe文件。
但是最近有一個需求,打包出來的exe文件需要用管理員權限執行!
也就是雙擊exe文件運行時,需要彈出一個uac界面讓用戶授權。
於是我查找pyinstaller的官方文檔,說是在打時包加上--uac-admin
參數就行了!
然而我實際操作了一下,發現直接加上這個參數僅在打包成多文件時有效 ,打包成單文件時是沒用的。
但是我就想打包成單個exe文件,又要uac用戶授權界面,怎麼辦?
好,解決方案:
- 如圖,現在我們有一個
test.py
文件
先對它進行一次打包,直接在目錄內打開cmd執行
pyinstaller -F --uac-admin test.py
來到dist目錄可以看到打包好的exe文件
我們打包時是有加--uac-admin
這個參數的,但是在打包出來的exe文件上卻沒有看到uac的小盾牌圖標!
所以現在來到build
目錄,找到manifest文件,把它複製到py文件的同級目錄下
就像這樣
然後再次打開cmd,運行如下的打包命令:
pyinstaller -F --uac-admin -r test.exe.manifest,1 test.py
可以發現比起之前的命令,我們加上了這個參數 -r test.exe.manifest,1
現在再次來到dist
目錄,就可以看到打包出來的exe是帶uac小盾牌圖標的了!
直接雙擊運行