打包文件.spec
引言
打包命令pyinstaller main.spec
,这个意思是告诉pyinstaller
要根据配置文件main.spec的内容参数进行打包
.spec文件内容
# -*- mode: python ; coding: utf-8 -*-
a = Analysis(
['main.py'],
pathex=[],
binaries=[],
datas=[('msedgedriver.exe', '.'), ('favicon.ico', '.')],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
noarchive=False,
optimize=0,
debug=False
)
pyz = PYZ(a.pure)
exe = EXE(
pyz,
a.scripts,
a.datas,
[],
exclude_binaries=True,
name='采集助手',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=False,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
dist_dir="E:/采集助手/python/dist",
work_dir="E:/采集助手/python/work",
icon="E:/采集助手/python/favicon.ico"
)
coll = COLLECT(
exe,
a.binaries,
a.datas,
strip=False,
upx=True,
upx_exclude=[],
name='spider-helper',
)
参数说明
Analysis
:用于配置打包过程中的分析参数,包括源代码路径、依赖项、资源文件等。PYZ
:用于配置生成的压缩文件,包括源代码和依赖项。EXE
:用于配置生成的可执行文件,包括压缩文件、名称、调试选项等。COLLECT
:指定了要收集的文件和数据,包括生成的可执行文件、依赖的二进制文件、数据文件等,以及最终生成的输出路径
其他子参数说明
Analysis.binaries
:用于指定需要包含在可执行文件中的二进制文件。Analysis.datas
:用于指定需要包含在可执行文件中的非Python文件。常用的配置,重点!!!
配置格式如下datas=[ ("本地文件路径,可以是相对路径,也可以是绝对路径","打包后的路径,必须是相对路径"), ("E:/test/test.txt","."), ("E:/采集助手/python/favicon.ico",".") ]
Analysis.hiddenimports
:用于指定需要显式导入的隐藏模块。Analysis.excludes
:用于排除不需要的模块或包。Analysis.console
:用于指定生成的可执行文件是否为控制台应用程序。