6

このドキュメントに従って、Djangoアプリを(GAE)にデプロイしようとしています。そのドキュメントで説明されているように、インスタンスを作成して構成しました。私は開発環境として使用し、DjangoをサポートするGAEプロジェクトを作成しました。Google App EngineGoogle Cloud SQLPyCharm

GAEサーバーを指すようにローカルサーバーを構成しました。PyCharmでGAEローカルサーバーを起動しようとすると、次の場所で不適切に構成されたデータベースで例外が発生しますSETTINGS.PY

google.appengine.ext.django.backends.rdbms' isn't an available database backend

スタックトレースから、ローカルサーバーがでDjangoバージョンを使用していることがわかりますが、で/Library/Python/2.7/site-packages使用する必要があると思います/usr/local/google_appengine/lib

でDjangoバージョンを使用する必要がある他のDjangoプロジェクトもあるとすると、これを解決するための最良の方法は何でしょう/Library/Python/2.7/site-packagesか?GAEバージョンのDjangoを含めるように変更した場合、PYTHONPATHすべてのプロジェクトがそのバージョンのDjangoを参照しているとは限りませんか?

編集:より正確には、GAEローカルサーバーは正常に起動しますがsyncdb、データベースを更新するタスクを実行すると、前述のスタックトレースがスローされます。

編集2: PythonインタープリターのPyCharm設定で、パスを変更する可能性を見つけ、GAESDKで配布されているDjango1.4バージョンを追加しました。GAE開発サーバーを起動すると、GAE SDKのDjangoバージョンを使用していることが実際にわかりますが、それでもデータベース定義でクラッシュします。

Error was: No module named google.appengine.ext.django.backends.rdbms.base

編集3:チュートリアルを使用して既存のDjangoアプリをデプロイしようとすると、問題が発生しました。この別の質問を参照してください。

4

1 に答える 1

12

PyCharms の呼び出しがsyncdb間違った Django インストールを使用しているようです。 google.appengine.ext.django.backends.rdbms公式の Django ディストリビューションの一部ではありませんが、GAE の django の一部です。私のGAEジャンゴは/usr/local/google_appengine/lib/

Linux/OS X を使用している場合は、これを.bashrc/に追加して.bash_profile、syncdb にこれを使用させることができます。

export GAE="/usr/local/google_appengine"
export PYTHONPATH="$PYTHONPATH:$GAE:$GAE/lib/django_1_4"
export PATH=${PATH}:$GAE/lib/django_1_4/django/bin/
export PATH=${PATH}:/usr/local/mysql/bin

GAE と Google Cloud SQL で Django を使用する方法についてのチュートリアルを書きました。関連情報もあるかもしれません。

于 2013-01-05T10:34:00.250 に答える