【小记】spacy 使用 pyinstaller 打包模型的正确方式
步骤一:
项目目录下新增一个 hook 文件,名字可以是 "hook-spacy.py":
from PyInstaller.utils.hooks import collect_data_files, collect_submodules, copy_metadata # 收集并添加 spacy 模块数据 datas = collect_data_files('spacy', include_py_files=True) hiddenimports = collect_submodules('spacy') # 拷贝 spacy 的元数据,这对于找到模型路径很重要 datas += copy_metadata('spacy') # 收集并添加 pkuseg 模块数据 datas += collect_data_files('spacy_pkuseg') # 收集并添加模型数据 datas += collect_data_files('xx_ent_wiki_sm') datas += collect_data_files('en_core_web_md') datas += collect_data_files('zh_core_web_md')
spacy 模型建议使用 whl 包的形式安装,这样可以直接打包进EXE,就无需在发布目录附带外部模型数据文件且路径形式引入。即在代码中可以这样引入:
import xx_ent_wiki_sm import en_core_web_md import zh_core_web_md npl = xx_ent_wiki_sm.load() npl_en = en_core_web_md.load() npl_zh = zh_core_web_md.load()
步骤二:
Make 命令当中增加参数:
pyinstaller --onefile --additional-hooks-dir=. main.py
版权声明:
作者:芯片烤电池
链接:https://www.airchip.org.cn/index.php/2024/04/17/spacy-to-pyinstaller/
来源:芯片烤电池
文章版权归作者所有,未经允许请勿转载。
THE END
0
二维码
海报
【小记】spacy 使用 pyinstaller 打包模型的正确方式
步骤一:
项目目录下新增一个 hook 文件,名字可以是 "hook-spacy.py":
from PyInstaller.utils.hooks import collect_data_files, c……
