Django のインストール

revision-up-to:17821 (1.4) unfinished

このドキュメントを読めば Django を動かせるようになります。

Python のインストール

Django は Python の Web フレームワークなので、当然 Python が必要です。

Djangoを動かすには2.5から2.7までのバージョンのPythonが必要です。 (後方互換性の確保のため、Python3.0ではDjangoは動作しません。 the Django FAQ を参考にすれば、Python3.0のサポートに関してもっと詳しい 情報を手に入れることが出来ます。

http://www.python.org から Python を取ってきましょう。 Linux や Mac OSX を 動かしているのなら、おそらくインストール済みのはずです。

Jython で Django を動かす

Jython (Java プラットフォームで動く Python 実装) を使っているなら、他 にもいくつかステップを踏む必要があります。詳しくは Jython 上で Django を動かす を参照してください。

Windows上のPython

Windows上では、 PATH の環境を設定しなければなりません。パスをPython の実行可能ファイルとそのスクリプトまで通す必要があります。例えば、もし、 C:\Python27\ にPythonがインストールがされているならば、追加しなけ ればいけない PATH は:

C:\Python27\;C:\Python27\Scripts;

Apache と mod_wsgi のインストール

単に Django を試してみたいだけなら、この節は読み飛ばして次の節を読んでくだ さい。Djangoにはテスト用の軽量なWebサーバが付属しているので、運用環境での動 作が必要になるまでApacheをセットアップする必要はないのです。

Django を実運用するサイトで使いたい場合、 Apache と mod_wsgi を使って下 さい。mod_wsgiにある二つのモードのうち一つを選んで実行できます。エンベデッド モードとデーモンモードがそれです。エンベデッドモードでは、 mod_wsgi は mod_perl のようなもので、 Python を Apache の中に埋め 込み、サーバの起動時に Python コードをメモリにロードします。コードは Apache プロセスが生きている間ずっとメモリ上に存在するので、他のサーバ構成よりも明 らかに高いパフォーマンスを実現します。デーモンモードでは、mod_wsgiは 独立した要求処理のいらないデーモンプロセスを呼びます。 デーモンプロセスはWebサーバーをこえた異なるユーザーとして動作します、これは セキュリティの向上へと導く可能性もあり、そしてデーモンプロセスは Apache Webサーバの 完全なリスタートすることなしでデーモンプロセスを再開でき、あるいはコードベース をよりシームレスなものへとレフレッシュさせるでしょう。 どちらのモードが適切かどうかは、mod_wsgi のドキュメントを確認して決断してください。 まずは mod_wsgi が動作する Apache がインストールされていることを確かめてください。 Django は mod_wsgi をサポートする全てのバージョンの Apache で動作します。

mod_wsgi をインストールした後の設定方法は mod_wsgiでDjangoを動かす を参照してく ださい。

何らかの理由で mod_wsgi を使えない場合でも心配はいりません Django を運用す る方法は他にもあります。お勧めの第二選択肢は、 mod_wsgi の前身、 uWSGI です。これは nginx.と一緒に動きます。もう一つは FastCGI これはApache以外のDjangoと一緒にサーバーを動かす完璧な方法です。付け加えれば、 Django は WSGI 仕様(PEP 3333)に従っているので、他にも様々なサーバプラットフォームで 動作させられます。個々のプラットフォームにおけるインストール方法の説明は サーバ構成に関する wiki ページ を参照してください。

データベースを動かす

Django のデータベース API 機能を使うのなら、データベースサーバを動かす必要 があります。 Django は PostgreSQL, MySQL, Oracle および SQLite で動作し ます (SQLite はサーバを動かさなくても使えます)。

公式にサポートされたデータベースに加えて、Djangoで他のデータベースを使うために サードパーティからバックエンドが提供されています。

DjangoとORM機能は非公式なバックエンドによってよく考慮されてサポートされてい ます。クエリは非公式なバックエンドの明確な機能として扱っています、サポートささ されたクエリにそって、おのおののサードパーティのプロジェクトによって提供される サポートチャンネルによって管理されているでしょう。

さらに、各データベースの Python バインディングをインストールしておく必要が あります。

  • PostgreSQL を使う場合、 postgresql_psycopg2 パッケージが必要です。 このデータベースについての特有の詳細が欲しいのならば、 PostgreSQL notes を参照するとよいでしょう。

    Windows 環境なら、非公式の Windows むけコンパイル済みパッケージ を使っ て下さい。

  • MySQL を使う場合は、バージョン 1.2.1p2 以降の MySQLdb が必要です。 MySQL バックエンド にまつわるデータベース固有の説 明も読んでおいたほうがよいでしょう。

  • もし、サポートされていないサードパーティのバックエンドを用いる場合、 更なる要望に応えるために提供されているドキュメントを読んでください。

Django の manage.py syncdb を使って、モデルに対応するテーブルを自動生成 するつもりなら、Django に対して、データベース上でテーブルの生成や ALTER を 行える権限を付与せねばなりません。テーブルを手動で生成するのなら、Django に 付与する権限は SELECT, INSERT, UPDATE および DELETE だけで かまいません。ただし、データベースによっては、 syncdb 時に ALTER TABLE 権限を付与しておく必要があります。 syncdb で一度テーブ ルを生成してしまえば、 syncdbALTER TABLE 文を発行しません。

テストフレームワーク を使ってデータベースクエリのテ ストを行うのなら、データベースを生成する権限も必要です。

旧バージョンの Django の除去

以前のバージョンからアップグレードする形で Django をインストールする場合、 新しいバージョンをインストールする前に、まず旧バージョンをアンインストール しておく必要があります。

setup.py install を使って Django をインストールした場合は簡単で、 Python の site-packages ディレクトリから django ディレクトリを削除 するだけです。

Python egg を使って Django をインストールした場合、Django の .egg ファ イルを削除するとともに、 easy-install.pth から Django の .egg ファ イルパスが書かれたエントリを削除します。 easy-install.pth.egg は、通常 site-packages ディレクトリ下にあります。

site-packages はどこにあるの?

site-packages の在処はオペレーティングシステムや Python のインストー ル場所によって異なります。 site-pacakges の場所を調べるには、以下の コマンドを実行してみてください:

python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"

(このコマンドはPythonの対話プロンプトではなく、シェルプロンプトで実行してください。)

LinuxディストリビューションのDebianは分割する site-packages というデ ィレクトリをユーザがインストールしたパッケージのために持っていて、 Djangoをダウンロードしたtarballファイルからインストールするような時に使う。 上にあげたコマンドはシステムの site-packages を渡します、ユーザのディレクトリは /usr/local/lib/ にあり、 /usr/lib/ ではありません。

Django コードのインストール

インストール方法の説明は、 OS ごとのインストールパッケージを入れる場合、公 式リリース版を入れる場合、そして最新の開発バージョンを入れる場合で少し異な ります。

どの方法を選ぶにしても、そんなに難しくはないので安心してください。

OS ごとのインストールパッケージによるインストール

ディストリビューション固有の注意 を調べて、自分 のプラットフォーム/ディストリビューションで公式の Django パッケージやインス トーラが提供されていないか調べます。ディストリビューション固有の配布パッケー ジは、たいてい依存関係のあるパッケージを自動的にインストールしてくれたり、パ スの更新を行ってくれたりします。

公式リリースのインストールを pip

これはDjangoをインストールする上でおすすめの方法です。

  1. pip をインストールします。最も簡単な方法は、 standalone pip installer を使うことです。もし、 pip がインストー ルされているディストリビューションなら、古いものであればアップデートす る必要ががあるかもしれません。(もし古いものであれば、インストールがう まく動きません)

  2. (オプション) virtualenvvirtualenvwrapper をみてみましょう。 これらのツールは、個別の Python 環境を構築することができます、 システム全体にパッケージをインストールするよりも実用的です。 これらは、管理者権限なしでもパッケージをインストールできます。 これらのツールを学んだり使うかを決めるのはあなた次第です。

  3. もし Linux や MacOsX か、ほかの Unix 系統のOSを使用している場合、 sudo pip install Django をシェルコマンドで入力します。 Windows を使っているならば、コマンドシェルを管理者権限で起動し、 pip install Django コマンドを走らせます。 これらで、Python インストールのなかの site-packages にDjangoが インストールされます。

    もし、あなたが virtualenv を使っているなら、 sudo やadministrator (管理者)の権限を使うことなく、virtualenv の site-packages ディレクトリに Django がインストールされます。

公式リリースのインストール

  1. ダウンロードページ から、最新版の Django をダウンロードします。
  2. ダウンロードしたファイルを tar で展開します。 (例: tar xzvf Django-NNN.tar.gz)。 Windows を使っているのなら、 コマンドラインツール bsdtar を使うか、 7-zip のような GUI ベースの ツールを使います。
  3. ステップ 2 で生成された展開先のディレクトリに移ります (例: cd Django-NNN)
  4. Linux, Mac OS X, その他の Unix 系のオペレーティングシステムでは、 シェルプロンプトからコマンド sudo python setup.py install を入力 します。 Windows を使っているのなら、管理者権限でコマンドプロンプト を起動して、コマンド setup.py install を実行します。 上のコマンドを実行すると、 Django は Python インストールディレクトリの site-packages ディレクトリ下にインストールされます。

開発バージョンのインストール

Django の開発版を追いかける

最新版の Django を使うと決めたのなら、 開発の進行状況 によく注意して、 以前のバージョンと互換性のない変更 がないか気をつけておく必要がある でしょう。これらのリンク先のページに注意していれば、使ってみたい新たな 機能や、手元の Django をアップデートする際に、自分のコードのどこを修正 する必要があるか追いかけられます。 (安定版では、 Django のアップデート 時に必要な変更は全てドキュメントに記載されています。)

Django のコードを更新して最新のバグフィクスや改良を適用したいのなら、以下の 説明に従って開発バージョンをインストールしてください。

  1. Subversion, Git, Mercurial がインストールされていて、シェルからコマンドを実行できること を確認してください。 (調べるには、シェルプロンプトで svn helpgit help, hg help を入力します。) Subversionリポジトリは、公式のGitとMercurialリポジトリ自体が最新のものとな なるような標準のソースということを覚えておいてください。

  2. 以下のようにして、Django のメイン開発ブランチ (‘trunk’) をチェックアウト します:

    # Subversion
    svn co https://code.djangoproject.com/svn/django/trunk/ django-trunk
    

    Subversionリポジトリのミラーはこんな風に取得できます

    # Git (requires version 1.6.6 or later)
    git clone https://github.com/django/django.git
    # or (works with all versions)
    git clone git://github.com/django/django.git
    
    # Mercurial
    hg clone https://bitbucket.org/django/django
    

    Warning

    これらのミラーは五分ごとに最新版にアップデートされます。 けれど、サービス上にホストされてから常に五分ごとにアップデートされている という保証がついているわけではないので注意してください。

  3. Python インタプリタが Django のコードをロードできるようにします。一番便利な 方法は、 Python パスの修正 することです。 .pth ファイルに django-trunk ディレクトリへのフルpathをシステムの site-packages ディレクトリまで追加することです。例えば Unixライクなシステムでは

    echo WORKING=DIR/django-trunk > SITE-PACKAGES-DIR/django.pth
    

    (上の作業では、使っているプラットフォームの site-packages ディレク トリに合わせて SITE-PACKAGES-DIR を書き換えてください。 site-packages の場所の探し方は、 site-packages はどこにあるの? を参照してください)

  4. django_src/django/bin/django-admin.py を実行できるようにします。 Unix系のシステムでは、例えば以下のようにして、 /usr/local/bin のよう なシステムパス上にシンボリックリンクを作成します:

    ln -s WORKING-DIR/django-trunk/django/bin/django-admin.py /usr/local/bin
    

    (上の行では、WORKING-DIRを新しい django-trunk ディレクトリまでのフル pathとマッチするように変えてください)

    これで、 django-admin.py とコマンド入力するだけで、どのディレクトリ 上でも django-admin.py を起動できるようになります。

    Windows では、 django_src/django/bin/django-admin.py を、 C:\Python27\Scripts のようなシステムパス上にコピーします。

Warning

sudo python setup.py install を走らせないでください。なぜなら、 ステップ3から4までの行程はそれと同等のことを行っているからです。 もっといえば、これはDjangoを最新のバージョンにアップデートする際に 問題を引き起こすものとして知られています。

Django のソースコードを更新する際には、 django-trunk ディレクトリで svn update を実行してください。実行すると、 Subversion が更新部分を自動 的にダウンロードします。同等のコマンドをGitで行うには git pull, Mercurialでは hg pull --update を実行します