pyinstaller 打包
# app.spec
from PyInstaller.utils.hooks import collect_data_files, collect_submodules
datas = [
('templates/*', 'templates'), # 递归包含 templates 下所有文件和子目录
('front/dist/*', 'static'), # 递归包含 static 下所有内容
('front/dist/assets/*', 'static/assets'), # 递归包含 static/assets 下所有内容
('PBlock/*', 'PBlock'), # 浏览器插件目录
]
hiddenimports = [
'win32process', 'multiprocessing' # Windows 进程和多进程相关库
]
excludes = [
'tkinter', 'matplotlib',
'numpy', 'pandas', # 如果不使用科学计算库
'unittest', 'doctest', # 排除测试相关模块
'setuptools', 'pkg_resources', # 减少打包工具相关冗余
'sqlite3', 'ssl', # 如果应用不涉及数据库或HTTPS
'urllib3', 'requests', # 如果不使用网络请求
'PIL', 'cv2', # 如果不涉及图像处理
]
a = Analysis(
['app.py'],
pathex=['.'], # 当前目录
binaries=[],
datas=datas,
hiddenimports=hiddenimports,
hookspath=[],
runtime_hooks=[],
excludes=excludes,
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=None,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=None)
exe = EXE(
pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='app',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
onefile=True,
console=True,
)
打包:pyinstaller --clean app.spec
不积跬步无以至千里

浙公网安备 33010602011771号