2017-05-25 54 views
0

我有我一直在使用下面的鏈接部署Django應用程序,如何在谷歌雲應用程序引擎下載所有nltk數據?

https://cloud.google.com/python/django/flexible-environment

但正如我使用NLTK進行文字處理,我得到下面的錯誤。

********************************************************************* 
    Resource 'taggers/maxent_treebank_pos_tagger/PY3/english.pickle' 
    not found. Please use the NLTK Downloader to obtain the 
    resource: >>> nltk.download() 
    Searched in: 
    - '/root/nltk_data' 
    - '/usr/share/nltk_data' 
    - '/usr/local/share/nltk_data' 
    - '/usr/lib/nltk_data' 
    - '/usr/local/lib/nltk_data' 
    - '' 

所以我知道我缺少來自nltk的數據。我在網上查了很多代碼,但沒有辦法在谷歌應用程序引擎中下載數據。以下是我的requirement.txt供您參考。

Django==1.10.6 
gunicorn==19.7.0 
nltk==3.0.5 

請讓我知道是否有辦法做到這一點。 在此先感謝。

+0

見https://stackoverflow.com/questions/22211525/how-do-i-download-nltk-data – alvas

+0

親愛alvas,感謝您的答覆。但是你分享的帖子通常是關於如何安裝nltk數據的。我想要將它安裝在Google Cloud上的Google App Engine上。儘管感謝您的幫助。 – displayname

+0

是不是一樣,請仔細閱讀答案,您可以設置下載或閱讀'nltk_data'目錄的路徑。是否有靜態磁盤讓您的資產保持在應用程序引擎上?或者它是無服務器的後端。如果它是一個微服務器,那麼我認爲'nltk'可能無法正常運行,除非應用程序引擎鏈接到一個雲NAS。 – alvas

回答

0

我爲獲取nltk數據做了一個解決方法。 首先,我將需要的nltk數據文件複製到我的Django應用程序文件夾中。 在settings.py中,爲了訪問該文件夾,我創建了一個變量。

nltk_dir = os.path.join(BASE_DIR,'first_app','nltk_data') 

屆時提及我在哪裏使用nltk.data.path.append() 因此,它基本上追加到NLTK在data.py路徑列表中該目錄變量。

url = settings.nltk_dir 
nltk.data.path.append(url) 

因此,我能夠檢索NLTK數據。:)