2005-07-16 05:21:18 +08:00
|
|
|
=====================
|
|
|
|
How to install Django
|
|
|
|
=====================
|
|
|
|
|
2005-07-16 05:51:05 +08:00
|
|
|
This document will get you up and running with Django.
|
|
|
|
|
2005-11-12 11:24:32 +08:00
|
|
|
Install Python
|
|
|
|
==============
|
|
|
|
|
|
|
|
Being a Python Web framework, Django requires Python.
|
|
|
|
|
|
|
|
It works with any Python version 2.3 and higher.
|
|
|
|
|
2007-05-19 12:17:54 +08:00
|
|
|
Get Python at http://www.python.org. If you're running Linux or Mac OS X, you
|
|
|
|
probably already have it installed.
|
2005-11-12 11:24:32 +08:00
|
|
|
|
2005-07-16 05:51:05 +08:00
|
|
|
Install Apache and mod_python
|
|
|
|
=============================
|
|
|
|
|
2007-06-20 14:03:51 +08:00
|
|
|
If you just want to experiment with Django, skip ahead to the next
|
|
|
|
section; Django includes a lightweight web server you can use for
|
|
|
|
testing, so you won't need to set up Apache until you're ready to
|
|
|
|
deploy Django in production.
|
2005-07-19 07:14:48 +08:00
|
|
|
|
|
|
|
If you want to use Django on a production site, use Apache with `mod_python`_.
|
|
|
|
mod_python is similar to mod_perl -- it embeds Python within Apache and loads
|
|
|
|
Python code into memory when the server starts. Code stays in memory throughout
|
|
|
|
the life of an Apache process, which leads to significant performance gains
|
|
|
|
over other server arrangements. Make sure you have Apache installed, with the
|
2005-11-07 22:39:13 +08:00
|
|
|
mod_python module activated. Django requires Apache 2.x and mod_python 3.x.
|
2005-07-19 07:14:48 +08:00
|
|
|
|
2005-08-12 03:00:56 +08:00
|
|
|
See `How to use Django with mod_python`_ for information on how to configure
|
|
|
|
mod_python once you have it installed.
|
|
|
|
|
2005-07-19 07:14:48 +08:00
|
|
|
If you can't use mod_python for some reason, fear not: Django follows the WSGI_
|
2005-10-12 21:25:24 +08:00
|
|
|
spec, which allows it to run on a variety of server platforms. See the
|
|
|
|
`server-arrangements wiki page`_ for specific installation instructions for
|
|
|
|
each platform.
|
2005-07-16 05:51:05 +08:00
|
|
|
|
|
|
|
.. _Apache: http://httpd.apache.org/
|
|
|
|
.. _mod_python: http://www.modpython.org/
|
2005-07-17 00:25:19 +08:00
|
|
|
.. _WSGI: http://www.python.org/peps/pep-0333.html
|
2007-01-25 04:08:47 +08:00
|
|
|
.. _How to use Django with mod_python: ../modpython/
|
2005-10-12 21:25:24 +08:00
|
|
|
.. _server-arrangements wiki page: http://code.djangoproject.com/wiki/ServerArrangements
|
2005-07-16 05:51:05 +08:00
|
|
|
|
|
|
|
Get your database running
|
|
|
|
=========================
|
|
|
|
|
|
|
|
If you plan to use Django's database API functionality, you'll need to
|
2007-04-26 22:58:18 +08:00
|
|
|
make sure a database server is running. Django works with PostgreSQL_,
|
2007-06-26 20:53:33 +08:00
|
|
|
MySQL_, Oracle_ and SQLite_ (the latter doesn't require a separate server to
|
|
|
|
be running).
|
2005-07-16 05:51:05 +08:00
|
|
|
|
2005-07-16 06:43:30 +08:00
|
|
|
Additionally, you'll need to make sure your Python database bindings are
|
2005-07-19 02:47:55 +08:00
|
|
|
installed.
|
|
|
|
|
2007-04-26 22:58:18 +08:00
|
|
|
* If you're using PostgreSQL, you'll need the psycopg_ package. Django supports
|
|
|
|
both version 1 and 2. (When you configure Django's database layer, specify
|
|
|
|
either ``postgresql`` [for version 1] or ``postgresql_psycopg2`` [for version 2].)
|
|
|
|
|
2007-02-27 05:39:09 +08:00
|
|
|
If you're on Windows, check out the unofficial `compiled Windows version`_.
|
2007-05-11 17:51:07 +08:00
|
|
|
|
2007-02-27 05:25:21 +08:00
|
|
|
* If you're using MySQL, you'll need MySQLdb_, version 1.2.1p2 or higher.
|
2007-04-16 19:11:16 +08:00
|
|
|
You will also want to read the database-specific notes for the `MySQL backend`_.
|
2007-02-27 05:39:09 +08:00
|
|
|
|
2005-07-29 02:21:46 +08:00
|
|
|
* If you're using SQLite, you'll need pysqlite_. Use version 2.0.3 or higher.
|
2005-07-16 06:43:30 +08:00
|
|
|
|
2007-06-23 22:16:00 +08:00
|
|
|
* If you're using Oracle, you'll need cx_Oracle_, version 4.3.1 or higher.
|
|
|
|
|
2005-07-16 05:51:05 +08:00
|
|
|
.. _PostgreSQL: http://www.postgresql.org/
|
|
|
|
.. _MySQL: http://www.mysql.com/
|
2005-07-17 23:59:37 +08:00
|
|
|
.. _Django's ticket system: http://code.djangoproject.com/report/1
|
2007-03-01 03:28:30 +08:00
|
|
|
.. _psycopg: http://initd.org/tracker/psycopg
|
2005-07-19 02:47:55 +08:00
|
|
|
.. _compiled Windows version: http://stickpeople.com/projects/python/win-psycopg/
|
2005-07-16 06:45:03 +08:00
|
|
|
.. _MySQLdb: http://sourceforge.net/projects/mysql-python
|
2005-07-29 02:21:46 +08:00
|
|
|
.. _SQLite: http://www.sqlite.org/
|
|
|
|
.. _pysqlite: http://initd.org/tracker/pysqlite
|
2007-04-16 19:11:16 +08:00
|
|
|
.. _MySQL backend: ../databases/
|
2007-06-23 22:16:00 +08:00
|
|
|
.. _cx_Oracle: http://www.python.net/crew/atuining/cx_Oracle/
|
2007-06-26 20:53:33 +08:00
|
|
|
.. _Oracle: http://www.oracle.com/
|
2005-07-16 05:51:05 +08:00
|
|
|
|
2007-04-12 21:59:09 +08:00
|
|
|
Remove any old versions of Django
|
|
|
|
=================================
|
|
|
|
|
2007-05-11 17:51:07 +08:00
|
|
|
If you are upgrading your installation of Django from a previous version,
|
|
|
|
you will need to uninstall the old Django version before installing the
|
|
|
|
new version.
|
2007-04-12 21:59:09 +08:00
|
|
|
|
|
|
|
If you installed Django using ``setup.py install``, uninstalling
|
2007-05-11 17:51:07 +08:00
|
|
|
is as simple as deleting the ``django`` directory from your Python
|
2007-04-12 21:59:09 +08:00
|
|
|
``site-packages``.
|
|
|
|
|
2007-06-20 14:23:15 +08:00
|
|
|
If you installed Django from a Python egg, remove the Django ``.egg`` file,
|
2007-05-11 17:51:07 +08:00
|
|
|
and remove the reference to the egg in the file named ``easy-install.pth``.
|
2007-04-12 21:59:09 +08:00
|
|
|
This file should also be located in your ``site-packages`` directory.
|
|
|
|
|
|
|
|
.. admonition:: Where are my ``site-packages`` stored?
|
|
|
|
|
|
|
|
The location of the ``site-packages`` directory depends on the operating
|
2007-06-20 14:23:15 +08:00
|
|
|
system, and the location in which Python was installed. To find out your
|
|
|
|
system's ``site-packages`` location, execute the following::
|
2007-05-11 17:51:07 +08:00
|
|
|
|
2007-06-20 14:23:15 +08:00
|
|
|
python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
|
2007-04-12 21:59:09 +08:00
|
|
|
|
2007-06-20 14:23:15 +08:00
|
|
|
(Note that this should be run from a shell prompt, not a Python interactive
|
|
|
|
prompt.)
|
2007-04-12 21:59:09 +08:00
|
|
|
|
2005-07-16 05:51:05 +08:00
|
|
|
Install the Django code
|
|
|
|
=======================
|
|
|
|
|
2005-07-16 05:21:18 +08:00
|
|
|
Installation instructions are slightly different depending on whether you're
|
2007-07-12 22:41:32 +08:00
|
|
|
installing a distribution-specific package, downloading the the latest official
|
|
|
|
release, or fetching the latest development version.
|
2005-07-16 05:21:18 +08:00
|
|
|
|
2007-07-12 22:41:32 +08:00
|
|
|
It's easy, no matter which way you choose.
|
2005-07-16 05:21:18 +08:00
|
|
|
|
2007-07-12 22:41:32 +08:00
|
|
|
Installing a distribution-specific package
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2005-07-16 05:21:18 +08:00
|
|
|
|
2007-07-12 22:41:32 +08:00
|
|
|
Check the `distribution specific notes`_ to see if your
|
|
|
|
platform/distribution provides official Django packages/installers.
|
|
|
|
Distribution-provided packages will typically allow for automatic
|
|
|
|
installation of dependancies and easy upgrade paths.
|
2007-02-27 07:23:01 +08:00
|
|
|
|
2007-07-12 22:41:32 +08:00
|
|
|
Installing an official release
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2007-02-27 07:23:01 +08:00
|
|
|
|
2007-07-12 22:41:32 +08:00
|
|
|
1. Download the latest release from our `download page`_.
|
2007-02-27 07:23:01 +08:00
|
|
|
|
2007-07-12 22:41:32 +08:00
|
|
|
2. Untar the downloaded file (e.g. ``tar xzvf Django-NNN.tar.gz``).
|
2007-02-27 07:23:01 +08:00
|
|
|
|
2007-07-12 22:41:32 +08:00
|
|
|
3. Change into the downloaded directory (e.g. ``cd Django-NNN``).
|
|
|
|
|
|
|
|
4. Run ``sudo python setup.py install``.
|
2005-07-21 09:33:13 +08:00
|
|
|
|
2006-10-17 06:38:18 +08:00
|
|
|
The command will install Django in your Python installation's ``site-packages``
|
2005-11-16 13:35:59 +08:00
|
|
|
directory.
|
|
|
|
|
2007-02-27 07:23:01 +08:00
|
|
|
.. _distribution specific notes: ../distributions/
|
2005-07-16 05:21:18 +08:00
|
|
|
|
|
|
|
Installing the development version
|
2005-07-16 05:51:05 +08:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2005-07-16 05:21:18 +08:00
|
|
|
|
2006-10-17 06:38:18 +08:00
|
|
|
If you'd like to be able to update your Django code occasionally with the
|
|
|
|
latest bug fixes and improvements, follow these instructions:
|
|
|
|
|
2005-07-16 05:26:43 +08:00
|
|
|
1. Make sure you have Subversion_ installed.
|
2006-10-17 06:38:18 +08:00
|
|
|
2. Check out the Django code into your Python ``site-packages`` directory.
|
2007-06-20 14:23:15 +08:00
|
|
|
|
2006-10-17 06:38:18 +08:00
|
|
|
On Linux / Mac OSX / Unix, do this::
|
2005-07-16 05:52:16 +08:00
|
|
|
|
2006-10-17 06:38:18 +08:00
|
|
|
svn co http://code.djangoproject.com/svn/django/trunk/ django_src
|
2007-06-20 14:23:15 +08:00
|
|
|
ln -s `pwd`/django_src/django SITE-PACKAGES-DIR/django
|
2005-07-16 05:52:16 +08:00
|
|
|
|
2007-06-20 14:23:15 +08:00
|
|
|
(In the above line, change ``SITE-PACKAGES-DIR`` to match the location of
|
|
|
|
your system's ``site-packages`` directory, as explained in the
|
|
|
|
"Where are my ``site-packages`` stored?" section above.)
|
2005-07-16 05:21:18 +08:00
|
|
|
|
2006-10-17 06:38:18 +08:00
|
|
|
On Windows, do this::
|
|
|
|
|
|
|
|
svn co http://code.djangoproject.com/svn/django/trunk/django c:\Python24\lib\site-packages\django
|
|
|
|
|
2007-01-05 20:32:55 +08:00
|
|
|
3. Copy the file ``django_src/django/bin/django-admin.py`` to somewhere on your
|
2006-10-17 06:38:18 +08:00
|
|
|
system path, such as ``/usr/local/bin`` (Unix) or ``C:\Python24\Scripts``
|
|
|
|
(Windows). This step simply lets you type ``django-admin.py`` from within
|
|
|
|
any directory, rather than having to qualify the command with the full path
|
|
|
|
to the file.
|
|
|
|
|
|
|
|
You *don't* have to run ``python setup.py install``, because that command
|
2007-01-06 08:08:55 +08:00
|
|
|
takes care of steps 2 and 3 for you.
|
2005-07-18 22:03:56 +08:00
|
|
|
|
2006-10-17 06:38:18 +08:00
|
|
|
When you want to update your copy of the Django source code, just run the
|
|
|
|
command ``svn update`` from within the ``django`` directory. When you do this,
|
|
|
|
Subversion will automatically download any changes.
|
2005-07-16 05:21:18 +08:00
|
|
|
|
2005-07-16 06:14:15 +08:00
|
|
|
.. _`download page`: http://www.djangoproject.com/download/
|
2005-07-16 05:26:43 +08:00
|
|
|
.. _Subversion: http://subversion.tigris.org/
|