2017-08-25 7 views
0

J'utilise le package Python Bag of Words, (https://github.com/dmiro/bagofwords/blob/master/bow.py).PyStemmer: ImportError: Échec du chargement DLL: Échec d'une routine d'initialisation de la bibliothèque de liens dynamiques (DLL)

Fondamentalement, je suis en cours d'exécution de la commande:

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

Je reçois la trace suivante:

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. 

Je pensais que ce serait peut-être un problème avec PyStemmer, j'ai donc essayé de forcer une PIP3 Réinstaller/mise à niveau, mais a eu la même erreur. Des pensées?

Répondre

0

D'accord, donc cela ne résout pas vraiment le problème, mais il est un travail autour:

Si vous ouvrez bow.py vous pouvez remplacer la ligne 250 avec import snowballstemmer as stemmer (au lieu de import Stemmer as stemmer) puis remplacer la ligne 252 avec stemmer = stemmer.stemmer(lang) (au lieu de stemmer = stemmer.Stemmer(lang)). Les méthodes équivalentes nécessitent simplement un changement de majuscule en minuscule.