Django version (0.96)使用時の警告について

42 views
Skip to first unread message

風柳

unread,
May 14, 2011, 3:34:44 PM5/14/11
to Google-App-Engine-Japan
GAE/Pythonにて、ログ中に

| You are using the default Django version (0.96). The default Django
version will change in an App Engine release in the near future.
Please call use_library() to explicitly select a Django version. For
more information see http://code.google.com/appengine/docs/python/tools/libraries.html#Django

という警告が表示されていたため、アプリを0.96→1.2対応へ移行するまでの
暫定措置として、ソースの最初のほうに

from google.appengine.dist import use_library
use_library('django', '0.96')

のようにして0.96を使う旨、明示的に指定したのですが、相変らず警告が出て
しまいます。

指定の方法が何かおかしかったりするのでしょうか?

Ian Lewis

unread,
May 15, 2011, 12:54:26 AM5/15/11
to google-app-...@googlegroups.com

こんにちは、

イアンです。

use_library() はdjango をインポートする前に指定していむか? もしかして、どこかのファイルでをインポートしているかもしれない。そうするとその時点でバージョンが指定されていないので、デフォールトバージョンとしてインポートされているかもしれないかな?

> --
> このメールは Google グループのグループ「Google-App-Engine-Japan」の登録者に送られています。
> このグループに投稿するには、google-app-...@googlegroups.com にメールを送信してください。
> このグループから退会するには、google-app-engine...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/google-app-engine-japan?hl=ja からこのグループにアクセスしてください。
>

風柳

unread,
May 15, 2011, 4:10:05 AM5/15/11
to Google-App-Engine-Japan
イアンさん、返信ありがとうございます。

> use_library() はdjango をインポートする前に指定していむか?

はい。
少なくとも(Djangoのwrapperである)
from google.appengine.ext.webapp import template
よりも前に指定しています。

また、use_library('django', '1.2') とすると、きちんと1.2に切り替わるため、
記述位置の問題ではないと思われます。

あの後よりシンプルなアプリケーションで試してみたのですが、
記事: http://d.hatena.ne.jp/furyu-tei/20110515/1305446440
結果としては、use_library()で明示するかしないかに関わりなく、0.96を
使用する限りにおいては、警告が表示されてしまうようでした。

不安要素は、将来的にデフォルトバージョンが変更になったときに、
use_library('django','0.96')
で指定したバージョン(0.96)が正しく使われるのかどうかです。

On 5月15日, 午後1:54, Ian Lewis <ianmle...@gmail.com> wrote:
> こんにちは、
>
> イアンです。
>
> use_library() はdjango をインポートする前に指定していむか?
> もしかして、どこかのファイルでをインポートしているかもしれない。そうするとその時点でバージョンが指定されていないので、デフォールトバージョンとしてイン ポートされているかもしれないかな?
> On May 14, 2011 7:34 PM, "風柳" <fury...@gmail.com> wrote:> GAE/Pythonにて、ログ中に

Takashi Matsuo ♟

unread,
May 15, 2011, 4:58:54 AM5/15/11
to google-app-...@googlegroups.com
今非常に network 状況が悪く、まだ SDK 1.5.0 で試していないのですが、appengine_config.py
というファイルを作り、そのファイルに下記の 1 行を入れてみてはいかがでしょうか。少なくとも SDK 1.5.0 の prerelease
では警告は消えています。

webapp_django_version = '0.96'

試してみてください。

ところでログが出てしまうというのは、appspot 上で datastore_admin 等にアクセスしてる時でしょうか?もしそうなら、上記で解決しそうですね。


# prerelease で試す限り main.py に下記を書いても警告は出ません。少なくとも devserver では。

from google.appengine.dist import use_library
use_library('django', '0.96')

Happy coding :)

-- matsuo

> このグループから退会するには、google-app-engine...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/google-app-engine-japan?hl=ja からこのグループにアクセスしてください。
>

--
Takashi Matsuo
Developer Relations
Developer Advocate for Google App Engine/iGoogle
Google Japan, Inc.

風柳

unread,
May 15, 2011, 6:45:54 AM5/15/11
to Google-App-Engine-Japan
松尾さん、返信ありがとうございます。

おっしゃるとおり、appengine_config.py を作成し
webapp_django_version = '0.96'
を追記した後Deployしてみると、警告が出なくなりました。

> ところでログが出てしまうというのは、appspot 上で datastore_admin 等にアクセスしてる時でしょうか?もしそうなら、上記で解決しそうですね。

いえ、datastore_admin等は使っておらず、
記事: http://d.hatena.ne.jp/furyu-tei/20110515/1305446440
中のような単純なアプリをDeploy直後、普通にトップページにブラウザで
アクセスしたときに記録されたログでした。

ところで、上記 appengine_config.py を使用する場合には、アプリ側での
use_library()による指定は不要と考えて宜しいでしょうか?
バージョンの整合性さえ合っていればuse_library()と共に使っても問題
なさそうですが、2箇所に記述するのはメンテナンス性が悪いので。

Reply all
Reply to author
Forward
0 new messages