2017-05-09 76 views
0

我想在Unix服務器上啓動TextBlob並運行一些隊友,當我運行以root身份運行時使用TextBlob的腳本時,它似乎工作得很好,但是當我嘗試新帳戶時創建我得到以下錯誤:如何讓TextBlob與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. 

我們正在使用的機器是非常小的,所以我不能下載語料庫多次爲不同的用戶壓倒了 - 沒有人知道如何我可能會解決這個問題?我已經爲root安裝了它,但是我不知道軟件包的位置或如何找到它們。

+0

您是否將其安裝在自定義位置?默認情況下它會轉到'/ usr/share/nltk_data',你的代碼正在同一個文件夾中搜索。 – Rubbal

+0

我做了'pip安裝textblob',它回來說「需求已經滿足」 - 顯然服務器已經擁有了它?我不知道它在哪裏 – unicornication32232

回答

0

按照docs中的說明應該可以工作。嘗試設置NLTK_DATA環境變量並查看它是否適用於新用戶。

+0

這樣做的竅門,非常感謝我指出了正確的方向! – unicornication32232

相關問題