2017-05-25 11 views
0

私は、私は下のリンクを使用して展開しているDjangoアプリケーションを持っているGoogleのクラウドアプリケーションエンジンですべての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からデータが欠落していることを知っています。私はオンラインでたくさんのコードを見てきましたが、Googleのアプリエンジンでデータをダウンロードする方法はありません。以下はあなたの参照のための私の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では、そのフォルダにアクセスするために変数を1つ作成します。

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データを取得することができるよ。:)

関連する問題