Spacy:ImportError:DLL加载失败:找不到指定的模块 加载日语模型时出错

问题描述

如何重现行为

在Anaconda Prompt上,我创建了一个环境:my_env 在这里,我安装了spacy(pip install -U spacy)并下载了英语和日语模型(python -m spacy download ja_core_news_sm)。加载英语模型没有错误

但是当我这样做时:

import spacy
nlp = spacy.load("ja_core_news_sm")

它给出了以下错误

Traceback (most recent call last):
  File "C:\Users\nitin.trivedi\AppData\Local\Continuum\anaconda3\envs\my_env\lib\site-packages\spacy\lang\ja\__init__.py",line 31,in try_sudachi_import
    from sudachipy import dictionary,tokenizer
  File "C:\Users\nitin.trivedi\AppData\Local\Continuum\anaconda3\envs\my_env\lib\site-packages\sudachipy\__init__.py",line 15,in <module>
    from . import utf8inputtextbuilder
  File "C:\Users\nitin.trivedi\AppData\Local\Continuum\anaconda3\envs\my_env\lib\site-packages\sudachipy\utf8inputtextbuilder.py",line 16,in <module>
    from .dictionarylib.categorytype import CategoryType
  File "C:\Users\nitin.trivedi\AppData\Local\Continuum\anaconda3\envs\anno\lib\site-packages\sudachipy\dictionarylib\__init__.py",line 19,in <module>
    from . import doublearraylexicon
  File "C:\Users\nitin.trivedi\AppData\Local\Continuum\anaconda3\envs\my_env\lib\site-packages\sudachipy\dictionarylib\doublearraylexicon.py",line 17,in <module>
    from dartsclone import DoubleArray
  File "C:\Users\nitin.trivedi\AppData\Local\Continuum\anaconda3\envs\my_env\lib\site-packages\dartsclone\__init__.py",line 1,in <module>
    from dartsclone._dartsclone import DoubleArray
ImportError: DLL load Failed: The specified module Could not be found.

During handling of the above exception,another exception occurred:

Traceback (most recent call last):
  File "<stdin>",in <module>
  File "C:\Users\nitin.trivedi\AppData\Local\Continuum\anaconda3\envs\my_env\lib\site-packages\spacy\__init__.py",line 30,in load
    return util.load_model(name,**overrides)
  File "C:\Users\nitin.trivedi\AppData\Local\Continuum\anaconda3\envs\my_env\lib\site-packages\spacy\util.py",line 170,in load_model
    return load_model_from_package(name,line 191,in load_model_from_package
    return cls.load(**overrides)
  File "C:\Users\nitin.trivedi\AppData\Local\Continuum\anaconda3\envs\my_env\lib\site-packages\ja_core_news_sm\__init__.py",line 12,in load
    return load_model_from_init_py(__file__,line 239,in load_model_from_init_py
    return load_model_from_path(data_path,Meta,line 203,in load_model_from_path
    nlp = cls(Meta=Meta,**overrides)
  File "C:\Users\nitin.trivedi\AppData\Local\Continuum\anaconda3\envs\my_env\lib\site-packages\spacy\language.py",line 186,in __init__
    make_doc = factory(self,**Meta.get("tokenizer",{}))
  File "C:\Users\nitin.trivedi\AppData\Local\Continuum\anaconda3\envs\my_env\lib\site-packages\spacy\lang\ja\__init__.py",line 273,in create_tokenizer
    return Japanesetokenizer(cls,nlp,config)
  File "C:\Users\nitin.trivedi\AppData\Local\Continuum\anaconda3\envs\my_env\lib\site-packages\spacy\lang\ja\__init__.py",line 139,in __init__
    self.tokenizer = try_sudachi_import(self.split_mode)
  File "C:\Users\nitin.trivedi\AppData\Local\Continuum\anaconda3\envs\my_env\lib\site-packages\spacy\lang\ja\__init__.py",line 44,in try_sudachi_import
    "Japanese support requires SudachiPy and SudachiDict-core "
ImportError: Japanese support requires SudachiPy and SudachiDict-core (https://github.com/WorksApplications/SudachiPy). Install with `pip install sudachipy sudachidict_core` or install spaCy with `pip install spacy[ja]`.

我尝试安装pip install sudachipy sudachidict_core 我检查了dartsclone,并确认它已经存在。

环境

  • 操作系统:Windows 10
  • 使用的Python版本:3.6.10
  • 使用的spaCy版本:2.3.2
  • 环境信息:Anaconda

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)