我能够为我的 python 代码创建一个 exe 文件,没有任何问题。
当我运行 exe 文件时,我遇到了一些包,如 srsly.msgpack.util 、 _custom_kernels.cu 和许多其他包,因为 pyInstaller 本身并没有安装所有需要的包。所以我经历了这个并创建了一个挂钩文件来解决这些问题。
hook.py 文件如下所示:
# HOOK FILE FOR SPACY
from PyInstaller.utils.hooks import collect_all
from PyInstaller.utils.hooks import collect_data_files
data = collect_data_files("en_core_web_sm")
datas = data[0]
binaries = data[1]
hiddenimports = data[2]
# ----------------------------- SPACY -----------------------------
data = collect_all('spacy')
datas = data[0]
binaries = data[1]
hiddenimports = data[2]
# ----------------------------- THINC -----------------------------
data = collect_all('thinc')
datas += data[0]
binaries += data[1]
hiddenimports += data[2]
# ----------------------------- CYMEM -----------------------------
data = collect_all('cymem')
datas += data[0]
binaries += data[1]
hiddenimports += data[2]
# ----------------------------- PRESHED -----------------------------
data = collect_all('preshed')
datas += data[0]
binaries += data[1]
hiddenimports += data[2]
# ----------------------------- BLIS -----------------------------
data = collect_all('blis')
# ----------------------------- OTHER ----------------------------
hiddenimports += ['srsly.msgpack.util']
我还在我的 hook.py 文件中添加了“en_core_web_sm”,但看起来它没有下载“en_core_web_sm”所需的包。
我还尝试从我的 '\AppData\Local\Programs\Python\Python38\Lib\site-packages' 路径中手动添加 'en_core_web_sm' 文件夹。但它会抛出错误,说使用了第三方包。
Python 版本:3.8.10(64 位)
点子版本:21.1.2
pyinstaller 版本:5.0.dev0
请教如何解决这个问题,在此先感谢!