Pyinstaller将py打包成exe的实例(针对人工智能大模型应用程序打包遇到各种问题)

Pyinstaller将py打包成exe的实例

如果你遇到各种问题,你可以私信联系我免费解决
首先安装此库

pip install pyinstaller

PyInstaller生成可执行程序

pyinstaller  app.py  或者xxx.spec

首先对于多py文件和涉及大模型程序,建议新建一个spec文件,我将展示一个spec文件,你可以替换里面的路径和文件名,打包好之后打包文件在dist文件夹里面
注意
路径一定不要包含中文,全部使用英文,不然exe运行会引起报错无从下手。

# gui29.spec

# -*- mode: python ; coding: utf-8 -*-

block_cipher = None

a = Analysis(
    ['C:\\Users\\ADMINSTRATION\\Desktop\\safe\\mem2\\gui\\gui29\\gui19_login.py',


     'C:\\Users\\ADMINSTRATION\\Desktop\\safe\\mem2\\gui\\gui29\\barpictue.py',
        'C:\\Users\\ADMINSTRATION\\Desktop\\safe\\mem2\\gui\\gui29\\docxreport.py',
        'C:\\Users\\ADMINSTRATION\\Desktop\\safe\\mem2\\gui\\gui29\\donghuagif.py',
        'C:\\Users\\ADMINSTRATION\\Desktop\\safe\\mem2\\gui\\gui29\\editcase_ui.py',
        'C:\\Users\\ADMINSTRATION\\Desktop\\safe\\mem2\\gui\\gui29\\exportcase_ui.py',
        'C:\\Users\\ADMINSTRATION\\Desktop\\safe\\mem2\\gui\\gui29\\getjsonnew.py',
        'C:\\Users\\ADMINSTRATION\\Desktop\\safe\\mem2\\gui\\gui29\\graph_s.py',
        'C:\\Users\\ADMINSTRATION\\Desktop\\safe\\mem2\\gui\\gui29\\gui19_ui_new.py',
        'C:\\Users\\ADMINSTRATION\\Desktop\\safe\\mem2\\gui\\gui29\\login_ui.py',
        'C:\\Users\\ADMINSTRATION\\Desktop\\safe\\mem2\\gui\\gui29\\neo-conn.py',
        'C:\\Users\\ADMINSTRATION\\Desktop\\safe\\mem2\\gui\\gui29\\newbar.py',
        'C:\\Users\\ADMINSTRATION\\Desktop\\safe\\mem2\\gui\\gui29\\newcase_ui.py',
        'C:\\Users\\ADMINSTRATION\\Desktop\\safe\\mem2\\gui\\gui29\\newpie.py',
        'C:\\Users\\ADMINSTRATION\\Desktop\\safe\\mem2\\gui\\gui29\\pie_window.py',
        'C:\\Users\\ADMINSTRATION\\Desktop\\safe\\mem2\\gui\\gui29\\predict.py',
        'C:\\Users\\ADMINSTRATION\\Desktop\\safe\\mem2\\gui\\gui29\\process.py',
        'C:\\Users\\ADMINSTRATION\\Desktop\\safe\\mem2\\gui\\gui29\\processtrace_ui.py',
        'C:\\Users\\ADMINSTRATION\\Desktop\\safe\\mem2\\gui\\gui29\\recordscreen2.py',
        'C:\\Users\\ADMINSTRATION\\Desktop\\safe\\mem2\\gui\\gui29\\sql.py',
        'C:\\Users\\ADMINSTRATION\\Desktop\\safe\\mem2\\gui\\gui29\\sqlpage.py',
        'C:\\Users\\ADMINSTRATION\\Desktop\\safe\\mem2\\gui\\gui29\\sqlpage2.py',
        'C:\\Users\\ADMINSTRATION\\Desktop\\safe\\mem2\\gui\\gui29\\trace.py',
        'C:\\Users\\ADMINSTRATION\\Desktop\\safe\\mem2\\gui\\gui29\\traceability.py',
        'C:\\Users\\ADMINSTRATION\\Desktop\\safe\\mem2\\gui\\gui29\\vs_editcase.py',
        'C:\\Users\\ADMINSTRATION\\Desktop\\safe\\mem2\\gui\\gui29\\vs_newcase.py'

    ],
    pathex=['C:\\Users\\ADMINSTRATION\\Desktop\\safe\\mem\\gui\\gui29'],
    binaries=[],
    datas=[

    ],
    hiddenimports=[
        'PyQt5',
        'PyQt5.QtWebEngineCore',
        'ray'
    ],
    hookspath=[],
    runtime_hooks=[],
    excludes=[],
    win_no_prefer_redirects=False,
    win_private_assemblies=False,
    cipher=block_cipher,
    noarchive=False
)

pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)

exe = EXE(
    pyz,
    a.scripts,
    [],
    exclude_binaries=True,
    name='gui19_login',
    debug=True,
    bootloader_ignore_signals=False,
    strip=False,
    upx=False,
    upx_exclude=[],
    runtime_tmpdir=None,
    console=True,
)

coll = COLLECT(
    exe,
    a.binaries,
    a.zipfiles,
    a.datas,
    strip=False,
    upx=False,
    upx_exclude=[],
    name='gui19_login'
)

针对在包裹过程遇到的问题总结
(1)
**no qt5.core
mportError: Dll load failed while importing QtCore:
**
针对这个问题,这是因为pyqt5核心组件的dll文件没有复制到我们的打包目录,我们需要去python的安装目录,例如我的目录为

C:\ProgramData\Anaconda3\envs\yolo5test\Lib\site-packages\PyQt5\Qt5\bin

把里面的dll文件全部复制到打包目录的根目录就好了。

(2)
BertForSequenceClassification requires the PyTorchI library but it was not found in your environment. Checkout the instructions on theinstallation page: https://pytorch. org/get-started/locally/ and follow the ones that match your environment.

针对这个问题是因为torch库文件没有引入到打包目录,我们需要去

C:\ProgramData\Anaconda3\envs\yolo5test\Lib\site-packages\

这个目录把以下图片展示的目录全部复制到我们打包的根目录下面,就不会报这个错误了。在这里插入图片描述
(3)
no such filo or diroctary:"bort modol woights. pt
这种情况一样好补,只需要把所有的资源文件都复制到打包程序的exe同一级目录下面,exe运行就可以使用这个文件了。
这是我使用的资源文件
这是我补充好的资源文件

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值