1

Python と GAE はまだ初心者です。正常に実行されているローカル サーバー上のアプリケーションがあります。エンティティをデータストアに追加したり、Web サイトを表示したりできます。すべて問題ありません。

現在、bulkloader を使用してエンティティをデータストアに追加しようとしています。https://developers.google.com/appengine/docs/python/tools/uploadingdataのチュートリアルに従いました。私のローダーは以下です:

from google.appengine.ext import ndb
from google.appengine.tools import bulkloader
import my_model

class ArticleLoader(bulkloader.Loader):
  def __init__(self):
    bulkloader.Loader.__init__(self, 'Article',
                               [('title', str),
                                ('author', str)
                                ])

loaders = [ArticleLoader]

エラーが発生しています:

No module named my_model

誰でもこれを修正できますか?

注: 1 つのディレクトリのみを使用しています。my_modelしたがって、私のローダーは、モジュールをインポートする他のファイルと同じ場所にあります。

4

2 に答える 2

1

PYTHONPATHこれは、適切に設定されていない場合にも発生する可能性があります。Linux を使用している場合は、Bulkloader を実行する前にこれを実行してみてください。

export PYTHONPATH=$PYTHONPATH:.

これにより、現在のディレクトリがに追加され、モジュールが表示さPYTHONPATHれるようになります。my_model私の記憶力はひどく、いつもそれを忘れているので、最初にこれを含み、その後にbulkloadコマンド自体を含む単純なシェルスクリプトを使用することになりました。

Windows を使用している場合は、 を使用してパスを変更できるはずですsys.path.append。これはテストしていませんが、これをスクリプトに追加してみてください (これは Linux でも機能するはずです)。

import sys
# ...
sys.path.append('.')
于 2012-12-09T00:51:19.970 に答える
0

コードは、my_model.py. という名前のモジュールがないため、そのエラーが発生していますmy_modulePythonモジュールパッケージのドキュメントを読む価値があるかもしれません。

于 2012-12-09T00:43:38.270 に答える