Pyinstaller的'onedir'模式生成的文件太多
我正在用PyInstaller 2.1把我的Python应用程序打包成Windows可执行文件。一开始我尝试使用onefile
模式,但发现这种模式启动时很慢(因为需要解压wx
和matplotlib
)。而用onedir
模式启动就快多了(只比原生Python慢一点点)。
所以我想用onedir
模式来加快启动速度,但对于普通用户来说,在主目录里找到实际的*.exe
文件有点困难(主目录里有98个文件,包括可执行文件和它的清单文件)。
我希望能让不懂技术的用户轻松“双击”可执行文件就能使用这个程序(简单易用和便携),而不是让他们看到其他97个文件还要长篇大论地告诉他们“只需忽略”那些文件。
有没有办法把这些“干扰”的文件移动到一个子文件夹里?或者有没有其他方法可以让最终用户更容易地运行这个程序?
3 个回答
0
你可以使用一些软件把它打包成一个单文件的安装程序,比如说 Inno setup
。你也可以尝试一个一个地删除一些文件(如果程序运行出错了,就把它恢复回来)。我发现几乎一半的文件都可以删除,而程序依然能正常运行。
你可以从 这里 下载 Inno Setup
。
1
在--onedir
模式下,减少创建文件数量最简单的方法就是先创建一个虚拟环境,然后只安装必要的模块。
1
你可以试试使用onedir。生成的文件夹可以放在任何地方,然后你可以为用户创建一个快捷方式,这样他们就能更方便地访问了。