我正在运行pytextrank处于第二阶段,我从spaCy得到这个错误:
File "C:\Anaconda3\lib\pathlib.py", line 371, in wrapped return strfunc(str(pathobj), *args)
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Anaconda3\\lib\\site-packages\\spacy\\data\\en\\vocab\\strings.json'
Run Code Online (Sandbox Code Playgroud)
我找了strings.json但是没有这样的东西.
有趣的是,当我使用以下错误代码安装spaCy时,存在与pathlib.py类似的错误:
OSError: Symbolic link privilege not held
Run Code Online (Sandbox Code Playgroud)
你们有什么想法吗?谢谢
最后,我可以在stackoverflow中回答问题.我发生了同样的问题,但最终解决了.这是我的建议:
两种方式都很方便.
1).来自python spacy:
python3 -m spacy download en
Run Code Online (Sandbox Code Playgroud)
假设您正在使用python3 +,可以自动完成并生成新的模型包,您可以通过import en或using导入 spacy.load('en')
2).来自github
转移链接,选择最新版本并下载.
这是最重要的部分,您必须解压缩下载的tar或gzip文件,并获取文件夹,但这仍然不是您想要的链接路径.
.
??? en_core_web_md-1.2.1
? ??? deps
? ? ??? config.json
? ? ??? model
? ??? meta.json
? ??? ner
? ? ??? config.json
? ? ??? model
? ??? pos
? ? ??? config.json
? ? ??? model
? ??? vocab
? ??? gazetteer.json
? ??? lexemes.bin
? ??? oov_prob
? ??? serializer.json
? ??? strings.json
? ??? vec.bin
Run Code Online (Sandbox Code Playgroud)
您必须将文件夹与结构链接.哪个spacy将通过您的链接快捷方式名称链接该文件夹.
这是您需要的链接脚本:
base_path=`pwd`
sudo python3 -m spacy link ${base_path}/en_core_web_md-1.2.1 en_core_web --force
Run Code Online (Sandbox Code Playgroud)
您可以在该文件夹旁边创建一个.sh文件并运行它.
而已!
Symbolic link privilege not held当您已将 spaCy 和模型安装到系统目录中,但您的用户没有创建符号链接所需的权限时,通常会发生该错误。要解决此问题,请再次以管理员身份运行download或link,或者,如果不可能,请使用 avirtualenv将所有内容安装到用户目录中(有关此问题的更多信息,请参阅故障排除文档)。
从 v1.7.0 开始,spaCy 创建了符号链接。目录中的快捷链接spacy/data。这使得您可以更轻松地将模型存储在任何您想要的地方,将它们安装为 Python 包并使用自定义名称加载它们,例如spacy.load(\'my_model\').
在您的情况下可能发生的情况是,由于权限错误,spaCy 未能设置此链接,现在无法找到并加载模型 \xe2\x80\x93 ,包括vocab/strings.json. (spaCy 在这里失败的方式是不理想的,尽管 \xe2\x80\x93 此问题已在 v1.7.3 中修复。)
由于模型已经安装,您所要做的就是为其创建一个新的符号链接(以管理员身份或在 a 中virtualenv):
python -m spacy link en_core_web_sm en\nRun Code Online (Sandbox Code Playgroud)\n\n(如果您下载了不同的模型,只需替换en_core_web_sm为该模型的名称。en是使用的快捷方式,可以是您想要的任何名称。)
编辑:如果您只想使用分词器而不关心模型,或者想要使用尚未附带统计模型的受支持语言Language之一,您也可以将类导入v1.7.3:
from spacy.fr import French\nnlp = French()\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
2426 次 |
| 最近记录: |