python - nltk-hook 无法找到 nltk_data
问题描述
当使用 pyinstaller 构建可执行文件时,我得到
无法找到 /home/usr/nltk_data
添加二进制和数据文件时。
我已经尝试了互联网上几乎所有的解决方案
解决方案
将 hook-nltk.py 文件更改为此
import os
import nltk
from PyInstaller.utils.hooks import collect_data_files
# add datas for nltk
datas = collect_data_files('nltk', False)
# loop through the data directories and add them
for p in nltk.data.path:
if os.path.exists(p):
datas.append((p, "nltk_data"))
# nltk.chunk.named_entity should be included
hiddenimports = ["nltk.chunk.named_entity"]
并将文件“pyi_rth_nltk.py”的双空格更改为单个空格,而不是“pyi_rth__nltk.py”。这个文件可以在\Anaconda3\Lib\site-packages\PyInstaller\loader\rthooks
推荐阅读
- python - 部分字符串被选为 ip 地址
- javascript - 如何在 Vanilla js 中制作 .env 文件并在其中隐藏令牌
- python - 用 Nan 替换 NONE - 但它会重新出现在代码的后续输出中
- swagger - Swagger/OpenAPI:在查询参数中定义数组的有效方法是什么?
- javascript - 如何减少过度冗余的for循环
- django - 'method' 对象不可下标错误发生
- javascript - 赛普拉斯似乎无法在 iframe 中找到任何元素
- reactjs - 反应不合逻辑的行为:使用过滤器功能时从状态中删除所有项目
- javascript - 使用套接字 io 流式传输数据
- reactjs - React TypeScript HOC - 未暴露包装组件的道具