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

posted @ 2025-09-12 09:56  小小爬虫  阅读(13)  评论(0)    收藏  举报