今回は小ネタです。
Google App Engine(GAE)へのアップロード時などに、『あなたの使っているSDKは古いので、新しいバージョンをインストールしてください』・・・といっったメッセージが英語で出る時がある。
あ~そうなんだ、ちょっと前にバージョンアップしたのにまたバージョンアップかよ、面倒だな。と思いつつ、気が向いた時にバージョンアップを行なっている。本当は mercurial あたりで配信してくれれば面倒な事をやらなくてもよいのだが、そうすると新しい機能が入った時にわからなくなる。今でもリリースノートなど見ているわけでもないので、絶対わからないだろう。こんなことを書くのは、3月30日に SDK 1.4.3 リリースされたからだ。例の通りバージョンアップしてからデバッガをさわっていると、妙なメッセージに気がついた。デバッカコンソールに見慣れない次のメッセージがあった。
WARNING 2011-04-xx xx:xx:xx,073 __init__.py:792] 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そう言えば、バージョンアップ前からこのメッセージ出てたよな。何だかよく分からなくて放っておいたけどね。デバッカコンソール自体あまり注意していないからね。
この日は違った。指定されたURLを見に行ったのだ。すると、
参考:サードパーティの Python ライブラリ - DjangoSDKには Django0.96 が付属しています。といった説明があるだけだ。普通はここまでだが今回はさらに違った。Google で検索してみたのだ。検索にヒットしたページの中で次のサイトが目に止まった。
Python練習帳 - GAE/PythonでDjango1.2.5を使う方法
なるほど、Djangoのより新しいバージョンが使えるようになっていたのか。そう言えば、そんな話聞いたことがあったな。
そして今度は Google Code の英語版ページを見に行った。
参考:Third-party Python Libraries - Djangoさすがに詳しく書いてあるな。
つまり、use_library というコマンドを使用してDjangoバージョンの切り替えが可能なようだ。切り替え可能なバージョンは 0.96 1.0 1.1 1.2 だ。SDKには 0.96 と 1.2 のDjangoは含まれている。しかし 1.0 及び 1.1 は含まれていないので、使用する時は事前に Django をダウンロードする必要があるとのことだ。
ちょっと前に Django0.96 のテンプレート言語で、機能が低いコマンドしか無いので悩んでいた。こんなことなら Django1.2 を使ってもよいかな。以前から Django1.x を使う方法はあったが、コマンド一個で切り替えれるのは便利だよね。しかも App Engine は近い将来、デフォルトを 1.2 に切り替えるようだ。
まとめ
Django1.2 に切り替えるには次のコードをソースの最初に記述する。
from google.appengine.dist import use_library use_library('django', '1.2')今度、使ってみます・・・。