使用pyinstaller构建可执行文件时,我得到
无法找到/ home / usr / nltk_data
添加二进制文件和数据文件时。
我已经尝试了互联网上几乎所有的解决方案
答案 0 :(得分:1)
将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
答案 1 :(得分:1)
我解决了编辑pyinstaller nltk-hook(在python3内)的问题。经过大量研究,我决定在代码结构中单独进行研究。我通过评论以下行解决了我的问题:
datas=[]
'''for p in nltk.data.path:
datas.append((p, "nltk_data"))'''
hiddenimports = ["nltk.chunk.named_entity"]
此外,您需要重命名文件:pyi_rth__nltk.cpython-36.pyc到pyi_rth_nltk.cpython-36.pyc此文件还有1个下划线。使用python版本发出警告。