打包exe

2.要打包的文件为多个py文件

这种情况一般你的代码较多,项目较大,可能你写了一个GUI界面py文件这个文件调用了其他文件的函数什么的,这个时候你需要生成spec文件来打包,这里假设你的要打包的主文件为test.py,首先在命令行中,cd到项目的相对目录下,然后输入:

pyi-makespec test.py

之后会在你的当前目录下生成一个test.spec,你可以在pycharm中打开这个文件

 

你需要把你的除了主文件以外的其他py文件也写到 a = Analysis(['GUI.py'], 的这个列表中,像这样

Analysis(['GUI.py', 'test1.py', 'E:\\a\\test2.py']
如果你的其他py文件和你要打包的主文件test.py不在同一个目录,那么你在list中需要输入这个py文件的绝对地址

如果你的项目调用了一些图片、dll等二进制文件,你也需要将他们打包进去,不然程序无法正常运行,你可以在spec文件中的

datas这个list中添加,方法和上面那个一样,不过最好填绝对地址,也可以等你项目打包完了在copy到你的那个exe文件的目录下

(这个种情况,你在程序中调用这些资源的时候最好用相对地址,不然程序到了别人电脑上就找不到地址了),大致只需要配置这些东西啦,其他东西都不是必须的。

然后在刚刚的命令行中输入:pyinstaller -D test.spec 就开始打包了,在这里-D是打包成一个文件夹,-F是打包成一整个文件(传说打包成一整个文件打包缓慢,容易出错,因此不推荐使用,我也没试过)

-D, --onedir Create a one-folder bundle containing an executable (default)
-F, --onefile Create a one-file bundled executable.
同理打包完成后可以在dist目录下找到打包好的exe文件。
————————————————
版权声明:本文为CSDN博主「白金之星1717」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41997888/article/details/100101951

posted on 2022-10-28 09:15  11wayne  阅读(55)  评论(0编辑  收藏  举报

导航