Wha*_*ang 10 pygame pyinstaller pyqt4
我编写了一个Python程序,我使用pyinstaller进行分发.onefile到目前为止,我一直在使用该选项来创建独立的可执行文件.到目前为止,这一直很好,但随着应用程序的增长,启动时间变得有点长.我也希望用户正确安装应用程序以使升级更简单.
我一直在尝试使用pyinstaller onedir选项创建应用程序的单个目录版本.但是,生成的.exe文件需要管理员权限才能运行,而onefile版本则没有.程序本身不需要任何这样的权限,所以我认为这是pyinstaller正在做的事情.如何创建不需要管理员权限的应用程序?
附加信息:
Oha*_*hen 10
在少数情况下可能会询问管理员权限:
A.如果可执行文件名中包含相关的关键字(如setup,install,update或patch)
B.应用程序在清单中请求它。
C..exe文件名在清单文件中的名称不多。
如果您为应用程序包创建一个.spec文件,则可以添加
exe = EXE(
...
manifest=None,
...
)
Run Code Online (Sandbox Code Playgroud)
除非您将其重命名为安装程序或安装程序,否则它不会要求输入密码。
我最近遇到了这个问题,我解决这个问题的经验是:
带有--onefile选项的PyInstaller在“可执行文件”中创建一个清单文件。Windows 上的这个清单文件告诉操作系统一些关于它捆绑的应用程序的信息。它指定的一件事是应用程序名称/清单文件。清单文件名的格式为appname.exe.manifest. 如果您的程序被 PyInstaller 冻结,它存储在清单中的可执行文件名称将是/distPyInstaller 文件夹下完成的 EXE的名称。如果重命名 EXE,则打包的清单文件不再匹配!因此,创建一个与最终 EXE 文件名同名的清单文件并使用--manifest选项运行 PyInstaller ,或者不要重命名 PyInstaller 创建的 EXE。
当您使用 custom 打包 PyInstaller 项目时--manifest,重命名的程序不再请求管理员提升。