PyStemmer:ImportError:DLL加载失败:动态链接库(DLL)初始化例程失败

问题描述:

我正在使用Python包字袋,bow.pyhttps://github.com/dmiro/bagofwords/blob/master/bow.py)。PyStemmer:ImportError:DLL加载失败:动态链接库(DLL)初始化例程失败

基本上我运行以下命令:

dc = bow.DefaultDocument() 
dc.read_text("paragraph string here") 

我得到以下跟踪:

Traceback (most recent call last): 
    File "bag_of_words.py", line 93, in <module> 
    if __name__ == "__main__": main() 
    File "bag_of_words.py", line 27, in main 
    bag_of_words_classifier_test("item", "category_1", "category_2") 
    File "bag_of_words.py", line 73, in bag_of_words_classifier_test 
    dc.read_text("paragraph string here") 
    File "C:\Users\User Name\Anaconda3\lib\site-packages\bow.py", line 339, in read_text 
    self._read(None, text) 
    File "C:\Users\User Name\Anaconda3\lib\site-packages\bow.py", line 326, in _read 
    words = self.tokenizer(text) 
    File "C:\Users\User Name\Anaconda3\lib\site-packages\bow.py", line 306, in tokenizer 
    words = self.after_tokenizer(WordFilters, words) 
    File "C:\Users\User Name\Anaconda3\lib\site-packages\bow.py", line 517, in after_tokenizer 
    words = wordfilters.stemming(self.lang, self.stemming, words) 
    File "C:\Users\User Name\Anaconda3\lib\site-packages\bow.py", line 250, in stemming 
    import Stemmer as stemmer 
ImportError: DLL load failed: A dynamic link library (DLL) initialization routine failed. 

我想这可能是与PyStemmer一个问题,所以我试图迫使PIP3重装/升级但得到相同的错误。有什么想法吗?

好了,所以这并不能真正解决问题,但它是一个解决方法:

如果你打开bow.py你可以import snowballstemmer as stemmer(而不是import Stemmer as stemmer)取代线250,然后将其替换线252 stemmer = stemmer.stemmer(lang)(而不是stemmer = stemmer.Stemmer(lang))。等价的方法只需要从大写更改为小写。