Python 2.5でDjangoをインストールする

とりあえずインストールしなければ何も始まらないのでDjangoをインストールします。インストール手順は増田さんのドキュメントを見れば問題ないでしょう。ただしここには2.5だとうまくいかない旨が書かれています。

また,Python 2.5 を使っている場合にはうまく動作しないでしょう.その場合には,後で説明する方法に従って開発版をインストールしてください.

で、開発版インストールにはSubversionが必要なんですが、今このエントリを書いているウチのノートパソコンにはSubversionがインストールされていません。まぁインストールすればいいのですが、何とかすれば何とかなるんじゃないのか?という思いからSubversionなしでいってみます。

Setuptools

Setuptoolsはdistutilsを拡張したパッケージで、これをセットアップするとeasy_installコマンド(EasyInstall Tool)を使うことができます。

easy_installコマンドを使うとPython Cheese Shopに登録されているPythonパッケージを簡単にインストールしたりできますし、何より依存関係のあるパッケージも自動的に処理してくれるので非常に便利です。DjangoもTurboGearsもこの仕組みを利用してインストールを行っています。

easy_installコマンドの簡単な使い方はここを参照するといいと思います。

Djangoのsetup.py

通常Djangoのインストールはsetup.pyを使って以下のように行います。

python setup.py install

setup.pyの中ではez_setup.pyが呼ばれ、実際にいろいろな動作を行ってくれます。このez_setup.pyではまずsetuptoolsをセットアップしています。この先頭部分を見てみると以下のようになっています。

import sys
DEFAULT_VERSION = "0.6c1"
DEFAULT_URL     = "http://cheeseshop.python.org/packages/%s/s/setuptools/" % sys.version[:3]

md5_data = {
    'setuptools-0.6b1-py2.3.egg': '8822caf901250d848b996b7f25c6e6ca',
    'setuptools-0.6b1-py2.4.egg': 'b79a8a403e4502fbb85ee3f1941735cb',
    'setuptools-0.6b2-py2.3.egg': '5657759d8a6d8fc44070a9d07272d99b',
    'setuptools-0.6b2-py2.4.egg': '4996a8d169d2be661fa32a6e52e4f82a',
    'setuptools-0.6b3-py2.3.egg': 'bb31c0fc7399a63579975cad9f5a0618',
    'setuptools-0.6b3-py2.4.egg': '38a8c6b3d6ecd22247f179f7da669fac',
    'setuptools-0.6b4-py2.3.egg': '62045a24ed4e1ebc77fe039aa4e6f7e5',
    'setuptools-0.6b4-py2.4.egg': '4cb2a185d228dacffb2d17f103b3b1c4',
    'setuptools-0.6c1-py2.3.egg': 'b3f2b5539d65cb7f74ad79127f1a908c',
    'setuptools-0.6c1-py2.4.egg': 'b45adeda0667d2d2ffe14009364f2a4b',
}

先頭部にあるDEFAULT_VERSIONはセットアップされるsetuptoolsのバージョンになります。下の方にずらずらっと並んでいるのはeasy_installのためのeggファイルのmd5データです。

セットアップの流れとしては、sys.versionによって得られるバージョンのPythonに応じたeggファイルをダウンロードしてmd5をチェックし、適切だったらそれをインストールするという形になるようです。

さてここにPython 2.5でsetup.pyを使ったインストールができない理由がありそうです。

Python 2.5でsetup.pyを使うためにほげりんぐ

Python 2.5でうまくいかないのはsetuptools-0.6c1にPython 2.5用のeggファイルが用意されていないためです。無いものはダウンロードできるはずもなく、(実際にコマンドラインから試してみればわかりますが)Not foundになってしまいます。それじゃあどうするのかといえば、setuptoolsの最新版を使ってしまうというのはどうでしょう。現時点の最新版は0.6c3で、これにはPython 2.5用のeggファイルも用意されています。ということで、ez_setup.pyのDEFAULT_VERSIONを0.6c3にし、0.6c3用のmd5データも追加します。

DEFAULT_VERSION = "0.6c3" # 0.6c3に変更
DEFAULT_URL     = "http://cheeseshop.python.org/packages/%s/s/setuptools/" % sys.version[:3]

md5_data = {
    'setuptools-0.6b1-py2.3.egg': '8822caf901250d848b996b7f25c6e6ca',
    'setuptools-0.6b1-py2.4.egg': 'b79a8a403e4502fbb85ee3f1941735cb',
    'setuptools-0.6b2-py2.3.egg': '5657759d8a6d8fc44070a9d07272d99b',
    'setuptools-0.6b2-py2.4.egg': '4996a8d169d2be661fa32a6e52e4f82a',
    'setuptools-0.6b3-py2.3.egg': 'bb31c0fc7399a63579975cad9f5a0618',
    'setuptools-0.6b3-py2.4.egg': '38a8c6b3d6ecd22247f179f7da669fac',
    'setuptools-0.6b4-py2.3.egg': '62045a24ed4e1ebc77fe039aa4e6f7e5',
    'setuptools-0.6b4-py2.4.egg': '4cb2a185d228dacffb2d17f103b3b1c4',
    'setuptools-0.6c1-py2.3.egg': 'b3f2b5539d65cb7f74ad79127f1a908c',
    'setuptools-0.6c1-py2.4.egg': 'b45adeda0667d2d2ffe14009364f2a4b',
    'setuptools-0.6c3-py2.4.egg': 'e0ed74682c998bfb73bf803a50e7b71e', # ついでに2.4用のやつも追加してしまった
    'setuptools-0.6c3-py2.5.egg': 'abef16fdd61955514841c7c6bd98965e', # 2.5用のmd5を追加
}

これでOK!どうなってもしらんけど!

よし、インストールしてしまおう。

C:\python25\python.exe setup.py install

インストールしたらあとはdjango-admin.pyしてプロジェクトのひな形を作成してしまおう。

django-admin.py startproject mysite

よし、インストール完了!

と思ったら露木さんからありがたいお言葉が…orz

本来は、Djangoが動作する環境の構築はプログラマが行うのですが、
今回は申し訳ないのですがご自身で構築してください。
Djangoはsvn版をインストールしてください。

お後がよろしいようで。

カテゴリ
Python Python
Django
トラックバック用URL:
http://nagosui.org:8080/Nagosui/COREBlog2/install-django-with-python-2.5/tbping
コメントを追加

下のフォームに記入してコメントを追加できます。平文テキスト形式。

(必須)
(必須)
(必須)
(Required)
Enter the word

このBlogについて
Plone, Zope, Pythonなどのトピックについてのメモです。
カテゴリ
Plone (98)
Plone Products (23)
COREBlog2 (31)
COREBlog1 (29)
ReadingCOREBlog (7)
Zope (66)
Turbogears (18)
Django (12)
Python (25)
Linux (30)
Nagosui (12)
Design (33)
Misc (48)
moblog (5)
最近のエントリ
浜松ブラスバンド定期演奏会2008 nyusuke 2008年11月24日
Glossy Horizontal Menuを使う nyusuke 2008年11月17日
第3回Python東海終了 nyusuke 2008年11月17日
Universalじゃない件 nyusuke 2008年11月15日
最近のコメント
Re:WebデザイナーのためのDjangoはじめの一歩 nyusuke 2007年06月01日
Re:WebデザイナーのためのDjangoはじめの一歩 pateo 2007年05月31日
Re:東海Python Workshop 01終了 nyusuke 2007年05月31日
Re:東海Python Workshop 01終了 kfuruhata 2007年05月30日