网络编程
位置:首页>> 网络编程>> Python编程>> 如何使用pyinstaller打包多个和单个python文件详解

如何使用pyinstaller打包多个和单个python文件详解

作者:Acheng1011  发布时间:2023-03-30 10:48:26 

标签:python,pyinstaller,打包

一、打包多个

1、将需要打包的项目为anjuke_sd目录下的所有python文件,其中excute_main.py为主文件。

如何使用pyinstaller打包多个和单个python文件详解

2、生成主函数对应的spec文件

命令:在anjuke_sd路径下使用:pyi-makespec excute_main.py

如何使用pyinstaller打包多个和单个python文件详解

如下图已经生成excute_main.spec文件。

如何使用pyinstaller打包多个和单个python文件详解

3、修改spec文件:加入需要打包的所有python文件,同时确保以下两项包含该项目的路径

如何使用pyinstaller打包多个和单个python文件详解

4、对spec文件进行pyinstaller安装

命令:pyinstaller excute_main.spec

如何使用pyinstaller打包多个和单个python文件详解

若显示如下所示则证明打包成功。

如何使用pyinstaller打包多个和单个python文件详解

此时项目下多了两个目录,进入dist目录,找到dist路径下后缀名为exe的文件。这里为dist下目录excute_main下的excute_main.exe。

如何使用pyinstaller打包多个和单个python文件详解

如何使用pyinstaller打包多个和单个python文件详解

打包成功!

二、打包单个文件

1、还是进入你需要打包的文件的路径,执行命令:pyinstaller -F 1.py,如下图所示。

如何使用pyinstaller打包多个和单个python文件详解

ps: -F参数表示覆盖打包,这样在打包时,不管我们打包几次,都是最新的,这个记住就行,固定命令。

出现问题:

如何使用pyinstaller打包多个和单个python文件详解

assert mpl_data_dir, “Failed to determine matplotlib’s data directory!”
AssertionError: Failed to determine matplotlib’s data directory!

解决:

找到该文件:

D:\ProgramFile\Python38\Lib\site-packages\PyInstaller\hooks

修改hook-matplotlib.py文件,按照如下代码进行修改,再次打包就可以正常

import matplotlib
mpl_data_dir = matplotlib.get_data_path()
datas = [
   (mpl_data_dir, "matplotlib/mpl-data"),
]

如何使用pyinstaller打包多个和单个python文件详解

2、执行完毕之后,会生成几个文件夹,如下图所示。

如何使用pyinstaller打包多个和单个python文件详解

点进去就看到了exe,点击运行

如何使用pyinstaller打包多个和单个python文件详解

OK!

如何使用pyinstaller打包多个和单个python文件详解

3、默认打包图片,如下图所示。

如何使用pyinstaller打包多个和单个python文件详解

加上 -i 参数之后,如下图所示,会形成一个类似风力发电机的logo图案。

如何使用pyinstaller打包多个和单个python文件详解

ps:程序路径最好全部都是英文,否则肯能会出现莫名其妙的问题

总结命令

  • Pyinstaller -F setup.py 打包exe

  • Pyinstaller -F -w setup.py 不带控制台的打包

  • Pyinstaller -F -i xx.ico setup.py 打包指定exe图标打包

平常我们只需要这三个就好了,足够满足所有需求了。

来源:https://blog.csdn.net/Aacheng123/article/details/120597852

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com