首先电脑中必须配置python解释器就无需赘言。这里我用的是python 3.11
1、安装pyinstaller
pip install pyinstaller
如果本地已存在pyinstaller.exe文件,或者打包时出错,可以用下列命令检查更新
pip install --upgrade pyinstaller
2、找到pyinstaller.exe文件的安装位置,如:C:\Users\86178\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\Scripts\pyinstaller.exe 如果不知道可以使用以下命令查询
pip show pyinstaller
看输出的Location:C:\Users\86178\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages
与exe文件所在位置略有不同,如果该位置不可用,可以在系统中打开该文件位置,并点击返回上级一次,应该可以看到一个Script文件夹,exe文件大概率就在这里边。
3、去到要打包的文件目录,打开cmd。
#exe之前是pyinstaller的路径信息
常用参数:
--onefile 打包成一个单文件执行程序
--onedir: 打包成一个目录,包含可执行文件和依赖项
--icon <icon>: 指定应用程序的图标文件
--noconsole: 在 Windows 上生成一个没有控制台窗口的程序(一般该参数在不调式的情况下填写)
如果你想更精细的调整参数或者--icon图标打包不成功,可以试试下面的方案:
这将生成一个main.spec文件,所有参数都包含在其中。
# -*- mode: python ; coding: utf-8 -*-
a = Analysis(
['main.py'],
pathex=[],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
noarchive=False,
optimize=0,
)
pyz = PYZ(a.pure)
exe = EXE(
pyz,
a.scripts,
a.binaries,
a.datas,
[],
name='main', #可以修改打包出来的exe文件的名字
debug=False, #是否开启debug模式
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=False, #是否开启黑窗口
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
icon=r'C:\Users\86178\Desktop\python\stock\favicon.ico', #自定义图标路径,这里用的绝对路径,记住最前方一定要加上r来表示原始字符串,不然识别不了反斜杠。
)
使用了这种方案,你的打包命令将变成:
4、打包成功。 经过以上步骤,你的python代码应该已经成功转化为exe可执行文件啦,并且图标也已经是自定义的咯。
tips:打包出来的可执行文件输出到了dist目录中,图标可能未加载出来,还是原始图标,你可以将文件拖动到桌面或其他文件夹应该就可以显示出来啦。