2017-05-09 1 views
0

J'essaie de faire fonctionner TextBlob pour certains coéquipiers sur un serveur Unix, il semble fonctionner correctement lorsque j'exécute des scripts qui utilisent TextBlob lors de l'exécution en tant que root, mais quand j'essaye le nouveau compte, je créer je reçois l'erreur suivante:Comment faire fonctionner TextBlob avec tous les utilisateurs d'Ubuntu?

********************************************************************** 
    Resource u'tokenizers/punkt/english.pickle' not found. Please 
    use the NLTK Downloader to obtain the resource: >>> 
    nltk.download() 
    Searched in: 
    - '/home/USERNAME/nltk_data' 
    - '/usr/share/nltk_data' 
    - '/usr/local/share/nltk_data' 
    - '/usr/lib/nltk_data' 
    - '/usr/local/lib/nltk_data' 
    - u'' 
********************************************************************** 
Traceback (most recent call last): 
    File "sampleClassifier.py", line 25, in <module> 
    cl = NaiveBayesClassifier(train) 
    File "/usr/local/lib/python2.7/dist-packages/textblob/classifiers.py", line 192, in __init__ 
    self.train_features = [(self.extract_features(d), c) for d, c in self.train_set] 
    File "/usr/local/lib/python2.7/dist-packages/textblob/classifiers.py", line 169, in extract_features 
    return self.feature_extractor(text, self.train_set) 
    File "/usr/local/lib/python2.7/dist-packages/textblob/classifiers.py", line 81, in basic_extractor 
    word_features = _get_words_from_dataset(train_set) 
    File "/usr/local/lib/python2.7/dist-packages/textblob/classifiers.py", line 63, in _get_words_from_dataset 
    return set(all_words) 
    File "/usr/local/lib/python2.7/dist-packages/textblob/classifiers.py", line 62, in <genexpr> 
    all_words = chain.from_iterable(tokenize(words) for words, _ in dataset) 
    File "/usr/local/lib/python2.7/dist-packages/textblob/classifiers.py", line 59, in tokenize 
    return word_tokenize(words, include_punc=False) 
    File "/usr/local/lib/python2.7/dist-packages/textblob/tokenizers.py", line 72, in word_tokenize 
    for sentence in sent_tokenize(text)) 
    File "/usr/local/lib/python2.7/dist-packages/textblob/base.py", line 64, in itokenize 
    return (t for t in self.tokenize(text, *args, **kwargs)) 
    File "/usr/local/lib/python2.7/dist-packages/textblob/decorators.py", line 38, in decorated 
    raise MissingCorpusError() 
textblob.exceptions.MissingCorpusError: 
Looks like you are missing some required data for this feature. 

To download the necessary data, simply run 

    python -m textblob.download_corpora 

or use the NLTK downloader to download the missing data: http://nltk.org/data.html 
If this doesn't fix the problem, file an issue at https://github.com/sloria/TextBlob/issues. 

la machine que nous travaillons avec est très petite, je ne peux pas l'accabler en téléchargeant le corpus à plusieurs reprises pour différents utilisateurs - ce que quelqu'un sait comment je pourrais résoudre ce problème ? Je l'ai déjà installé pour root, mais je ne sais pas où sont les paquets ni comment les trouver.

+0

L'avez-vous installé dans un lieu personnalisé? Par défaut, il va à '/ usr/share/nltk_data' et votre code recherche dans le même dossier. – Rubbal

+0

J'ai fait 'pip installer textblob' et il est revenu en disant" conditions déjà remplies "- apparemment le serveur l'avait déjà? Je n'ai aucune idée où c'est – unicornication32232

Répondre

0

En suivant les instructions du docs devrait fonctionner. Essayez de définir la variable d'environnement NLTK_DATA et voyez si cela fonctionne pour le nouvel utilisateur.

+0

Cela a fait l'affaire, merci beaucoup de m'indiquer dans la bonne direction! – unicornication32232