Personal tools
You are here: Home なごぶろ Python 2.5でDjangoをインストールする
About this blog
なごすいぶろぐ。「すべてはなごすいのために」。
Categories
COREBlog2 (31)
Zope (61)
Linux (26)
Misc (47)
Nagosui (11)
ReadingCOREBlog (7)
Plone (81)
Python (20)
Turbogears (18)
COREBlog1 (30)
moblog (5)
Django (12)
 
Document Actions

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版をインストールしてください。

お後がよろしいようで。

Category(s)
Python Python
Django
The URL to Trackback this entry is:
http://nagosui.org/Nagosui/COREBlog2/install-django-with-python-2.5/tbping
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)
(Required)
Enter the word