mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	git-svn-id: http://code.djangoproject.com/svn/django/branches/queryset-refactor@7124 bcc190cf-cafb-0310-a4f2-bffc1f526a37
		
			
				
	
	
		
			232 lines
		
	
	
		
			9.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			232 lines
		
	
	
		
			9.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| =====================
 | |
| How to install Django
 | |
| =====================
 | |
| 
 | |
| This document will get you up and running with Django.
 | |
| 
 | |
| Install Python
 | |
| ==============
 | |
| 
 | |
| Being a Python Web framework, Django requires Python.
 | |
| 
 | |
| It works with any Python version 2.3 and higher.
 | |
| 
 | |
| Get Python at http://www.python.org. If you're running Linux or Mac OS X, you
 | |
| probably already have it installed.
 | |
| 
 | |
| Install Apache and mod_python
 | |
| =============================
 | |
| 
 | |
| 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.
 | |
| 
 | |
| 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
 | |
| mod_python module activated. Django requires Apache 2.x and mod_python 3.x.
 | |
| 
 | |
| See `How to use Django with mod_python`_ for information on how to configure
 | |
| mod_python once you have it installed.
 | |
| 
 | |
| If you can't use mod_python for some reason, fear not: Django follows the WSGI_
 | |
| 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.
 | |
| 
 | |
| .. _Apache: http://httpd.apache.org/
 | |
| .. _mod_python: http://www.modpython.org/
 | |
| .. _WSGI: http://www.python.org/peps/pep-0333.html
 | |
| .. _How to use Django with mod_python: ../modpython/
 | |
| .. _server-arrangements wiki page: http://code.djangoproject.com/wiki/ServerArrangements
 | |
| 
 | |
| Get your database running
 | |
| =========================
 | |
| 
 | |
| If you plan to use Django's database API functionality, you'll need to
 | |
| make sure a database server is running. Django works with PostgreSQL_,
 | |
| MySQL_, Oracle_ and SQLite_ (although SQLite doesn't require a separate server
 | |
| to be running).
 | |
| 
 | |
| Additionally, you'll need to make sure your Python database bindings are
 | |
| installed.
 | |
| 
 | |
| * 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].)
 | |
| 
 | |
|   If you're on Windows, check out the unofficial `compiled Windows version`_.
 | |
| 
 | |
| * If you're using MySQL, you'll need MySQLdb_, version 1.2.1p2 or higher.
 | |
|   You will also want to read the database-specific notes for the `MySQL backend`_.
 | |
| 
 | |
| * If you're using SQLite and either Python 2.3 or Python 2.4, you'll need
 | |
|   pysqlite_. Use version 2.0.3 or higher. Python 2.5 ships with an sqlite
 | |
|   wrapper in the standard library, so you don't need to install anything extra
 | |
|   in that case.
 | |
| 
 | |
| * If you're using Oracle, you'll need cx_Oracle_, version 4.3.1 or higher.
 | |
|   You will also want to read the database-specific notes for the `Oracle backend`_.
 | |
| 
 | |
| If you plan to use Django's ``manage.py syncdb`` command to
 | |
| automatically create database tables for your models, you'll need to
 | |
| ensure that Django has permission to create and alter tables in the
 | |
| database you're using; if you plan to manually create the tables, you
 | |
| can simply grant Django ``SELECT``, ``INSERT``, ``UPDATE`` and
 | |
| ``DELETE`` permissions. On some databases, Django will need
 | |
| ``ALTER TABLE`` privileges during ``syncdb`` but won't issue
 | |
| ``ALTER TABLE`` statements on a table once ``syncdb`` has created it.
 | |
| 
 | |
| If you're using Django's `testing framework`_ to test database queries,
 | |
| Django will need permission to create a test database.
 | |
| 
 | |
| .. _PostgreSQL: http://www.postgresql.org/
 | |
| .. _MySQL: http://www.mysql.com/
 | |
| .. _Django's ticket system: http://code.djangoproject.com/report/1
 | |
| .. _psycopg: http://initd.org/tracker/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
 | |
| .. _MySQL backend: ../databases/
 | |
| .. _cx_Oracle: http://cx-oracle.sourceforge.net/
 | |
| .. _Oracle: http://www.oracle.com/
 | |
| .. _Oracle backend: ../databases/#oracle-notes
 | |
| .. _testing framework: ../testing/
 | |
| 
 | |
| Remove any old versions of Django
 | |
| =================================
 | |
| 
 | |
| 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.
 | |
| 
 | |
| If you installed Django using ``setup.py install``, uninstalling
 | |
| is as simple as deleting the ``django`` directory from your Python
 | |
| ``site-packages``.
 | |
| 
 | |
| If you installed Django from a Python egg, remove the Django ``.egg`` file,
 | |
| and remove the reference to the egg in the file named ``easy-install.pth``.
 | |
| 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
 | |
|     system, and the location in which Python was installed. To find out your
 | |
|     system's ``site-packages`` location, execute the following::
 | |
| 
 | |
|         python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
 | |
| 
 | |
|     (Note that this should be run from a shell prompt, not a Python interactive
 | |
|     prompt.)
 | |
| 
 | |
| Install the Django code
 | |
| =======================
 | |
| 
 | |
| Installation instructions are slightly different depending on whether you're
 | |
| installing a distribution-specific package, downloading the the latest official
 | |
| release, or fetching the latest development version.
 | |
| 
 | |
| It's easy, no matter which way you choose.
 | |
| 
 | |
| Installing a distribution-specific package
 | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | |
| 
 | |
| 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 dependencies and easy upgrade paths.
 | |
| 
 | |
| Installing an official release
 | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | |
| 
 | |
|     1. Download the latest release from our `download page`_.
 | |
| 
 | |
|     2. Untar the downloaded file (e.g. ``tar xzvf Django-NNN.tar.gz``,
 | |
|        where ``NNN`` is the version number of the latest release).
 | |
|        If you're using Windows, you can download the command-line tool
 | |
|        bsdtar_ to do this, or you can use a GUI-based tool such as 7-zip_.
 | |
| 
 | |
|     3. Change into the directory created in step 2 (e.g. ``cd Django-NNN``).
 | |
| 
 | |
|     4. If you're using Linux, Mac OS X or some other flavor of Unix, enter
 | |
|        the command ``sudo python setup.py install`` at the shell prompt.
 | |
|        If you're using Windows, start up a command shell with administrator
 | |
|        privileges and run the command ``setup.py install``.
 | |
| 
 | |
| These commands will install Django in your Python installation's
 | |
| ``site-packages`` directory.
 | |
| 
 | |
| .. _distribution specific notes: ../distributions/
 | |
| .. _bsdtar: http://gnuwin32.sourceforge.net/packages/bsdtar.htm
 | |
| .. _7-zip: http://www.7-zip.org/
 | |
| 
 | |
| Installing the development version
 | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | |
| 
 | |
| If you'd like to be able to update your Django code occasionally with the
 | |
| latest bug fixes and improvements, follow these instructions:
 | |
| 
 | |
| 1. Make sure that you have Subversion_ installed, and that you can run its
 | |
|    commands from a shell. (Enter ``svn help`` at a shell prompt to test
 | |
|    this.)
 | |
| 
 | |
| 2. Check out Django's main development branch (the 'trunk') like so::
 | |
| 
 | |
|        svn co http://code.djangoproject.com/svn/django/trunk/ django-trunk
 | |
| 
 | |
| 3. Next, make sure that the Python interpreter can load Django's code. There
 | |
|    are various ways of accomplishing this.  One of the most convenient, on
 | |
|    Linux, Mac OSX or other Unix-like systems, is to use a symbolic link::
 | |
| 
 | |
|        ln -s `pwd`/django-trunk/django SITE-PACKAGES-DIR/django
 | |
| 
 | |
|    (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.)
 | |
| 
 | |
|    Alternatively, you can define your ``PYTHONPATH`` environment variable
 | |
|    so that it includes the ``django-trunk`` directory. This is perhaps the
 | |
|    most convenient solution on Windows systems, which don't support symbolic
 | |
|    links. (Environment variables can be defined on Windows systems `from the
 | |
|    Control Panel`_.)
 | |
| 
 | |
|    .. admonition:: What about Apache and mod_python?
 | |
| 
 | |
|       If you take the approach of setting ``PYTHONPATH``, you'll need to
 | |
|       remember to do the same thing in your Apache configuration once you
 | |
|       deploy your production site. Do this by setting ``PythonPath`` in your
 | |
|       Apache configuration file.
 | |
| 
 | |
|       More information about deployment is available, of course, in our
 | |
|       `How to use Django with mod_python`_ documentation.
 | |
| 
 | |
|       .. _How to use Django with mod_python: ../modpython/
 | |
| 
 | |
| 4. On Unix-like systems, create a symbolic link to the file
 | |
|    ``django-trunk/django/bin/django-admin.py`` in a directory on your system
 | |
|    path, such as ``/usr/local/bin``. For example::
 | |
| 
 | |
|        ln -s `pwd`/django-trunk/django/bin/django-admin.py /usr/local/bin
 | |
| 
 | |
|    This 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.
 | |
| 
 | |
|    On Windows systems, the same result can be achieved by copying the file
 | |
|    ``django-trunk/django/bin/django-admin.py`` to somewhere on your system
 | |
|    path, for example ``C:\Python24\Scripts``.
 | |
| 
 | |
| You *don't* have to run ``python setup.py install``, because you've already
 | |
| carried out the equivalent actions in steps 3 and 4.
 | |
| 
 | |
| When you want to update your copy of the Django source code, just run the
 | |
| command ``svn update`` from within the ``django-trunk`` directory. When you do
 | |
| this, Subversion will automatically download any changes.
 | |
| 
 | |
| .. _`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
 |