.. _topics-install: ===================== Django のインストール ===================== :revision-up-to: 8961 (1.0) このドキュメントを読めば Django を動かせるようになります。 .. Install Python: Python のインストール ===================== Django は Python の Web フレームワークなので Python が必要です。 Django はバージョン 2.3 以上の Python で動作します。 http://www.python.org から Python を取ってきましょう。 Linux や Mac OSX を 動かしているのなら、おそらくインストール済みのはずです。 .. admonition:: Jython で Django を動かす Jython_ (Java プラットフォームで動く Python 実装) を使っているなら、他 にもいくつかステップを踏む必要があります。詳しくは :ref:`howto-jython` を参照してください。 .. _jython: http://jython.org/ .. _Install Apache and mod_python: Apache と mod_python のインストール =================================== 単に Django を試してみたいだけなら、この節は読み飛ばして次の節を読んでくだ さい。Djangoにはテスト用の軽量なWebサーバが付属しているので、運用環境での動 作が必要になるまでApacheをセットアップする必要はないのです。 Django を実運用のサイトで使いたい場合、 Apache と `mod_python`_ を使って下 さい。 mod_python は mod_perl のようなもので、 Python を Apache の中に埋め 込み、サーバの起動時に Python コードをメモリにロードします。コードは Apache プロセスが生きている間ずっとメモリ上に存在するので、他のサーバ構成よりも明 らかに高いパフォーマンスを実現します。 Django の動作には Apache 2.x および mod_python 3.x が必要です。 mod_python をインストールしたら、設定に関する情報は :ref:`mod_python で Django を動かす ` を参照し てください。 何らかの理由で mod_python を使えない場合でも心配はいりません: Django は WSGI_ 仕様に従っているので、様々なサーバプラットフォームで動作させられます。 個々のプラットフォームにおけるインストール方法の説明は `サーバ構成に関する wiki ページ`_ を参照してください。 .. _Apache: http://httpd.apache.org/ .. _mod_python: http://www.modpython.org/ .. _WSGI: http://www.python.org/peps/pep-0333.html .. _`サーバ構成に関する wiki ページ`: http://code.djangoproject.com/wiki/ServerArrangements .. _server-arrangements wiki page: http://code.djangoproject.com/wiki/ServerArrangements .. _database-installation: .. _Get your database running: データベースを動かす ==================== Django のデータベース API 機能を使うのなら、データベースサーバを動かす必要 があります。 Django は PostgreSQL_, MySQL_, Oracle_ および SQLite_ で動作し ます (SQLite はサーバを動かさなくても使えます)。 さらに、各データベースの Python バインディングをインストールしておく必要が あります。 * PostgreSQL を使う場合、 psycopg_ パッケージが必要です。 Django はバージョ ン 1 および 2 の psycopg をサポートしています (Django のデータベース設定 で、 ``postgresql`` [バージョン 1 の場合] か、 ``postgresql_psycopg2`` [バージョン 2 の場合] を選んでください。Windows 環境なら、 非公式の `Windows むけコンパイル済みパッケージ`_ を使って下さい。 * MySQL を使う場合は、バージョン 1.2.1p2 以降の MySQLdb_ が必要です。 :ref:`MySQL バックエンド ` にまつわるデータベース固有の説 明も読んでおいたほうがよいでしょう。 * Python 2.3 または Python 2.4 で SQLite を使う場合、は pysqlite_ が必要で す。バージョン 2.0.3 以上を使って下さい。 Python 2.5 は標準ライブラリに SQLite のラッパモジュールが入っているので、特に追加でインストールするもの はありません。 * Oracle を使っているなら、 cx_Oracle_ が必要です。バージョン 4.3.1 以上を 使ってください。 :ref:`Oracle バックエンド ` 固有の注意事項 も参照してください。 Django の ``manage.py syncdb`` を使って、モデルに対応するテーブルを自動生成 するつもりなら、Django に対して、データベース上でテーブルの生成や ALTER を 行える権限を付与せねばなりません。テーブルを手動で生成するのなら、Django に 付与する権限は ``SELECT``, ``INSERT``, ``UPDATE`` および ``DELETE`` だけで かまいません。ただし、データベースによっては、 ``syncdb`` 時に ``ALTER TABLE`` 権限を付与しておく必要があります。 ``syncdb`` で一度テーブ ルを生成してしまえば、 ``syncdb`` は ``ALTER TABLE`` 文を発行しません。 :ref:`テストフレームワーク ` を使ってデータベースクエリのテ ストを行うのなら、データベースを生成する権限も必要です。 .. _PostgreSQL: http://www.postgresql.org/ .. _MySQL: http://www.mysql.com/ .. _Django's ticket system: http://code.djangoproject.com/report/1 .. _psycopg: http://initd.org/projects/psycopg .. _`Windows むけコンパイル済みパッケージ`: http://stickpeople.com/projects/python/win-psycopg/ .. _compiled Windows version: http://stickpeople.com/projects/python/win-psycopg/ .. _MySQLdb: http://sourceforge.net/projects/mysql-python .. _SQLite: http://www.sqlite.org/ .. _pysqlite: http://initd.org/tracker/pysqlite .. _cx_Oracle: http://cx-oracle.sourceforge.net/ .. _Oracle: http://www.oracle.com/ .. _removing-old-versions-of-django: 旧バージョンの 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`` ディレクトリ下にあります。 .. admonition:: ``site-packages`` はどこにあるの? ``site-packages`` の在処はオペレーティングシステムや Python のインストー ル場所によって異なります。 ``site-pacakges`` の場所を調べるには、以下の コマンドを実行してみてください: .. code-block:: bash python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()" (このコマンドはPythonの対話プロンプトではなく、シェルプロンプトで実行し てください。) .. _install-django-code: .. _Install the Django code: Django コードのインストール =========================== インストール方法の説明は、 OS ごとのインストールパッケージを入れる場合、公 式リリース版を入れる場合、そして最新の開発バージョンを入れる場合で少し異な ります。 どの方法を選ぶにしても、そんなに難しくはないので安心してください。 .. _Installing a distribution-specific package: OS ごとのインストールパッケージによるインストール ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :ref:`ディストリビューション固有の注意 ` を調べて、自分 のプラットフォーム/ディストリビューションで公式の Django パッケージやインス トーラが提供されていないか調べます。ディストリビューション固有の配布パッケー ジは、たいてい依存関係のあるパッケージを自動的にインストールしてくれたり、パ スの更新を行ってくれたりします。 .. _installing-official-release: 公式リリースのインストール ~~~~~~~~~~~~~~~~~~~~~~~~~~ 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`` ディレクトリ下にインストールされます。 .. _bsdtar: http://gnuwin32.sourceforge.net/packages/bsdtar.htm .. _7-zip: http://www.7-zip.org/ .. _installing-development-version: .. _Installing the development version: 開発バージョンのインストール ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. admonition:: Django の開発版を追いかける 最新版の Django を使うと決めたのなら、 `開発の進行状況`_ によく注意して、 `以前のバージョンと互換性のない変更`_ がないか気をつけておく必要がある でしょう。これらのリンク先のページに注意していれば、使ってみたい新たな 機能や、手元の Django をアップデートする際に、自分のコードのどこを修正 する必要があるか追いかけられます。 (安定版では、 Django のアップデート 時に必要な変更は全てドキュメントに記載されています。) .. _the development timeline: http://code.djangoproject.com/timeline .. _`開発の進行状況`: `the development timeline`_ .. _the list of backwards-incompatible changes: http://code.djangoproject.com/wiki/BackwardsIncompatibleChanges .. _`以前のバージョンと互換性のない変更`: `the list of backwards-incompatible changes`_ Django のコードを更新して最新のバグフィクスや改良を適用したいのなら、以下の 説明に従って開発バージョンをインストールしてください。 1. Subversion_ がインストールされていて、シェルからコマンドを実行できること を確認してください。 (調べるには、シェルプロンプトで ``svn help`` を入力 します。) 2. 以下のようにして、Django のメイン開発ブランチ ('trunk') をチェックアウト します: .. code-block:: bash svn co http://code.djangoproject.com/svn/django/trunk/ django-trunk 3. Python インタプリタが Django のコードをロードできるようにします。いくつ か方法がありますが、 Linux や Mac OS X, Unix 系オペレーティングシステム 上では、以下のようにしてシンボリックリンクを張るのが最も便利な方法です: .. code-block:: bash ln -s `pwd`/django-trunk/django SITE-PACKAGES-DIR/django (上の作業では、使っているプラットフォームの ``site-packages`` ディレク トリに合わせて SITE-PACKAGES-DIR を書き換えてください。 ``site-packages`` の場所の探し方は、「 ``site-packages`` はどこにあるの?」 を参照してください) 環境変数 ``PYTHONPATH`` に、 ``django-trunk`` ディレクトリを含めるよう設 定する方法もあります。 Windows システムではシンボリックリンクがサポート されていないので、この方法が最も便利な方法です。 (Windows システムでは、 環境変数は、 `コントロールパネルから`_ 設定します)。 .. admonition:: Apache と mod_python の設定は? ``PYTHONPATH`` を設定する方法をとる場合、同じ値を Apache の設定ファ イルにも入れておくのを忘れないでください。 Apache で PYTHONPATH を設定 するには、 ``PythonPath`` ディレクティブを使います。 もちろん、 Apache と mod_python を使った運用に関する情報はこれだけでは ありません。 :ref:`mod_python で Django を動かす ` も参 照してください。 4. ``django_src/django/bin/django-admin.py`` を実行できるようにします。 Unix系のシステムでは、例えば以下のようにして、 ``/usr/local/bin`` のよう なシステムパス上にシンボリックリンクを作成します: .. code-block:: bash ln -s `pwd`/django-trunk/django/bin/django-admin.py /usr/local/bin これで、 ``django-admin.py`` とコマンド入力するだけで、どのディレクトリ 上でも ``django-admin.py`` を起動できるようになります。 Windows では、 ``django_src/django/bin/django-admin.py`` を、 ``C:\Python24\Scripts`` のようなシステムパス上にコピーします。 ステップ 3 と 4 は ``python setup.py install`` と同じ作業を実行しているので、 ``python setup.py install`` を実行する必要は **ありません** 。 Django のソースコードを更新する際には、 ``django-trunk`` ディレクトリで ``svn update`` を実行してください。実行すると、 Subversion が更新部分を自動 的にダウンロードします。 .. _`download page`: http://www.djangoproject.com/download/ .. _Subversion: http://subversion.tigris.org/ .. _from the Control Panel: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/sysdm_advancd_environmnt_addchange_variable.mspx .. _`ダウンロードページ`: `download page`_ .. _`コントロールパネルから`: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/ja/sysdm_advancd_environmnt_addchange_variable.mspx