Learning Center
Plans & pricing Sign in
Sign Out



									FAQ: Installation

How do I get started?

#. `Download the code`_.
#. Install Django (read the :doc:`installation guide </intro/install>`).
#. Walk through the :doc:`tutorial </intro/tutorial01>`.
#. Check out the rest of the :doc:`documentation </index>`, and `ask
questions`_ if you
   run into trouble.

.. _`Download the code`:
.. _ask questions:

What are Django's prerequisites?

Django requires Python_, specifically any version of Python from 2.5
through 2.7. No other Python libraries are required for basic Django

For a development environment -- if you just want to experiment with
Django --
you don't need to have a separate Web server installed; Django comes with
own lightweight development server. For a production environment, Django
the WSGI spec, :pep:`3333`, which means it can run on a variety of server
platforms. See :doc:`Deploying Django </howto/deployment/index>` for some
popular alternatives. Also, the `server arrangements wiki page`_ contains
details for several deployment strategies.

If you want to use Django with a database, which is probably the case,
also need a database engine. PostgreSQL_ is recommended, because we're
PostgreSQL fans, and MySQL_, `SQLite 3`_, and Oracle_ are also supported.

.. _Python:
.. _server arrangements wiki page:
.. _PostgreSQL:
.. _MySQL:
.. _`SQLite 3`:
.. _Oracle:

Do I lose anything by using Python 2.5 versus newer Python versions, such
as Python 2.6 or 2.7?

Not in the core framework. Currently, Django itself officially supports
version of Python from 2.5 through 2.7, inclusive. However, newer
versions of
Python are often faster, have more features, and are better supported. If
use a newer version of Python you will also have access to some APIs that
aren't available under older versions of Python. For example, since
Python 2.6,
you can use the advanced string formatting described in :pep:`3101`.

Third-party applications for use with Django are, of course, free to set
own version requirements.

Over the next year or two Django will begin dropping support for older
versions as part of a migration which will end with Django running on
Python 3
(see below for details).

All else being equal, we recommend that you use the latest 2.x release
(currently Python 2.7). This will let you take advantage of the numerous
improvements and optimizations to the Python language since version 2.5,
will help ease the process of dropping support for older Python versions
the road to Python 3.

What Python version can I use with Django?

==============   ===============
Django version   Python versions
==============   ===============
1.0              2.3, 2.4, 2.5, 2.6
1.1              2.3, 2.4, 2.5, 2.6
1.2              2.4, 2.5, 2.6, 2.7
1.3              2.4, 2.5, 2.6, 2.7
**1.4**          **2.5, 2.6, 2.7**
*1.5 (future)*   *2.6, 2.7, 3.x (experimental)*
==============   ===============

Can I use Django with Python 3?

Not at the moment. Python 3.0 introduced a number of
backwards-incompatible changes to the Python language, and although
these changes are generally a good thing for Python's future, it will
be a while before most Python software catches up and is able to run
on Python 3.0. For larger Python-based software like Django, the
transition is expected to take at least a year or two (since it
involves dropping support for older Python releases and so must be
done gradually).

In the meantime, Python 2.x releases will be supported and provided
with bug fixes and security updates by the Python development team, so
continuing to use a Python 2.x release during the transition should
not present any risk.

Will Django run under shared hosting (like TextDrive or Dreamhost)?

See our `Django-friendly Web hosts`_ page.

.. _`Django-friendly Web hosts`:

Should I use the stable version or development version?

Generally, if you're using code in production, you should be using a
stable release. The Django project publishes a full stable release
every nine months or so, with bugfix updates in between. These stable
releases contain the API that is covered by our backwards
compatibility guarantees; if you write code against stable releases,
you shouldn't have any problems upgrading when the next official
version is released.

To top