revision-up-to: | 17821 (1.4) unfinished |
---|
このドキュメントを読めば Django を動かせるようになります。
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;
単に 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
で一度テーブ
ルを生成してしまえば、 syncdb
は ALTER TABLE
文を発行しません。
テストフレームワーク を使ってデータベースクエリのテ ストを行うのなら、データベースを生成する権限も必要です。
以前のバージョンからアップグレードする形で 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/
ではありません。
インストール方法の説明は、 OS ごとのインストールパッケージを入れる場合、公 式リリース版を入れる場合、そして最新の開発バージョンを入れる場合で少し異な ります。
どの方法を選ぶにしても、そんなに難しくはないので安心してください。
ディストリビューション固有の注意 を調べて、自分 のプラットフォーム/ディストリビューションで公式の Django パッケージやインス トーラが提供されていないか調べます。ディストリビューション固有の配布パッケー ジは、たいてい依存関係のあるパッケージを自動的にインストールしてくれたり、パ スの更新を行ってくれたりします。
pip
で¶これはDjangoをインストールする上でおすすめの方法です。
pip をインストールします。最も簡単な方法は、
standalone pip installer を使うことです。もし、 pip
がインストー
ルされているディストリビューションなら、古いものであればアップデートす
る必要ががあるかもしれません。(もし古いものであれば、インストールがう
まく動きません)
(オプション) virtualenv と virtualenvwrapper をみてみましょう。 これらのツールは、個別の Python 環境を構築することができます、 システム全体にパッケージをインストールするよりも実用的です。 これらは、管理者権限なしでもパッケージをインストールできます。 これらのツールを学んだり使うかを決めるのはあなた次第です。
もし Linux や MacOsX か、ほかの Unix 系統のOSを使用している場合、
sudo pip install Django
をシェルコマンドで入力します。
Windows を使っているならば、コマンドシェルを管理者権限で起動し、
pip install Django
コマンドを走らせます。
これらで、Python インストールのなかの site-packages
にDjangoが
インストールされます。
もし、あなたが virtualenv を使っているなら、 sudo
やadministrator
(管理者)の権限を使うことなく、virtualenv の site-packages
ディレクトリに Django がインストールされます。
tar xzvf Django-NNN.tar.gz
)。 Windows を使っているのなら、
コマンドラインツール bsdtar を使うか、 7-zip のような GUI ベースの
ツールを使います。cd Django-NNN
)sudo python setup.py install
を入力
します。 Windows を使っているのなら、管理者権限でコマンドプロンプト
を起動して、コマンド setup.py install
を実行します。
上のコマンドを実行すると、 Django は Python インストールディレクトリの
site-packages
ディレクトリ下にインストールされます。Django の開発版を追いかける
最新版の Django を使うと決めたのなら、 開発の進行状況 によく注意して、 以前のバージョンと互換性のない変更 がないか気をつけておく必要がある でしょう。これらのリンク先のページに注意していれば、使ってみたい新たな 機能や、手元の Django をアップデートする際に、自分のコードのどこを修正 する必要があるか追いかけられます。 (安定版では、 Django のアップデート 時に必要な変更は全てドキュメントに記載されています。)
Django のコードを更新して最新のバグフィクスや改良を適用したいのなら、以下の 説明に従って開発バージョンをインストールしてください。
Subversion, Git, Mercurial がインストールされていて、シェルからコマンドを実行できること
を確認してください。 (調べるには、シェルプロンプトで svn help
、
git help
, hg help
を入力します。)
Subversionリポジトリは、公式のGitとMercurialリポジトリ自体が最新のものとな
なるような標準のソースということを覚えておいてください。
以下のようにして、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
これらのミラーは五分ごとに最新版にアップデートされます。 けれど、サービス上にホストされてから常に五分ごとにアップデートされている という保証がついているわけではないので注意してください。
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 はどこにあるの?
を参照してください)
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
を実行します
Oct 26, 2017