NLTK(Natural Language Toolkit)をGoogleAppEngineで動作させるようにしています。私が従った手順は次のとおりです。
- インストーラーをダウンロードして実行します(Macを使用しているので.dmgファイル)。
- python site-packagesディレクトリからnltkフォルダをコピーし、プロジェクトフォルダのサブフォルダとして配置します。
- nltkサブフォルダーを含むフォルダーにPythonモジュールを作成し、次の行を追加します。
from nltk.tokenize import *
残念ながら、起動後にこのエラーが発生します(このエラーはNLTKの奥深くで発生し、GAEプロジェクトのサブフォルダーにあるものとは対照的にPythonのシステムインストールで表示されることに注意してください):
<type 'exceptions.ImportError'>: No module named nltk
Traceback (most recent call last):
File "/base/data/home/apps/xxxx/1.335654715894946084/main.py", line 13, in <module>
from lingua import reducer
File "/base/data/home/apps/xxxx/1.335654715894946084/lingua/reducer.py", line 11, in <module>
from nltk.tokenizer import *
File "/base/data/home/apps/xxxx/1.335654715894946084/lingua/nltk/__init__.py", line 73, in <module>
from internals import config_java
File "/base/data/home/apps/xxxx/1.335654715894946084/lingua/nltk/internals.py", line 19, in <module>
from nltk import __file__
注:これは、GAEにアップロードしたときにログでエラーがどのように表示されるかを示しています。ローカルで実行すると、同じエラーが発生します(ただし、NLTKのサイトパッケージインスタンス内で発生しているようです...違いはありません)。また、「xxxx」はプロジェクト名を示します。
要約すると:
- 私がやろうとしていることは可能ですか?NLTKはAppEngineでも実行できますか?
- 見逃したことはありますか?つまり、「nltk」をGAEプロジェクトにコピーするだけでは不十分ですか?
編集:タイプミスを修正し、不要な手順を削除しました