123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- 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`: http://www.djangoproject.com/download/
- .. _ask questions: http://www.djangoproject.com/community/
- 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
- usage.
- 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 its
- own lightweight development server. For a production environment, Django
- follows the WSGI_ spec, 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, you'll
- also need a database engine. PostgreSQL_ is recommended, because we're
- PostgreSQL fans, and MySQL_, `SQLite 3`_, and Oracle_ are also supported.
- .. _Python: http://www.python.org/
- .. _WSGI: http://www.python.org/dev/peps/pep-0333/
- .. _server arrangements wiki page: http://code.djangoproject.com/wiki/ServerArrangements
- .. _PostgreSQL: http://www.postgresql.org/
- .. _MySQL: http://www.mysql.com/
- .. _`SQLite 3`: http://www.sqlite.org/
- .. _Oracle: http://www.oracle.com/
- 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 any
- 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 you
- 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 their
- own version requirements.
- Over the next year or two Django will begin dropping support for older Python
- 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, and
- will help ease the process of dropping support for older Python versions on
- the road to Python 3.
- .. _PEP 3101: http://www.python.org/dev/peps/pep-3101/
- Can I use Django with Python 2.4?
- ---------------------------------
- As of Django 1.4, no.
- Django 1.3 and earlier supported Python 2.4. Django 1.4 (the current development
- version, which hasn't been officially released) and newer version require
- Python 2.5 or greater (but not 3.x; see the next question.)
- We highly recommend you upgrade Python if possible, but Django 1.3.x will
- continue to support Python 2.4.
- 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`: http://code.djangoproject.com/wiki/DjangoFriendlyWebHosts
- 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.
|