FAQ: Installation ================= How do I get started? --------------------- #. `Download the code`_. #. Install Django (read the :doc:`installation guide `). #. Walk through the :doc:`tutorial `. #. Check out the rest of the :doc:`documentation `, and `ask questions`_ if you run into trouble. .. _`Download the code`: https://www.djangoproject.com/download/ .. _ask questions: https://www.djangoproject.com/community/ What are Django's prerequisites? -------------------------------- Django requires Python, specifically Python 2.6.5 - 2.7.x, or 3.2.3 and above. 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, :pep:`3333`, which means it can run on a variety of server platforms. See :doc:`Deploying Django ` 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/ .. _server arrangements wiki page: https://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/ 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 2.6, 2.7 and 3.2, 3.3 (experimental) **1.6** **2.6, 2.7** and **3.2, 3.3** *1.7 (future)* *2.7* and *3.2, 3.3* ============== =============== For a given series of Python versions, only the latest release is officially supported. For instance, at the time of writing (July 1st, 2013), the latest release in the 2.7 series is 2.7.5. What Python version should I use with Django? --------------------------------------------- As of Django 1.6, Python 3 support is considered stable and you can safely use it in production. See also :doc:`/topics/python3`. However, the community is still in the process of migrating third-party packages and applications to Python 3. If you're starting a new project, and the dependencies you plan to use work on Python 3, you should use Python 3. If they don't, consider contributing to the porting efforts, or stick to Python 2. Since newer versions of Python are often faster, have more features, and are better supported, all else being equal, we recommend that you use the latest 2.x.y or 3.x.y release. You don't lose anything in Django by using an older release, but you don't take advantage of the improvements and optimizations in newer Python releases. Third-party applications for use with Django are, of course, free to set their own version requirements. Will Django run under shared hosting (like TextDrive or Dreamhost)? ------------------------------------------------------------------- See our `Django-friendly Web hosts`_ page. .. _`Django-friendly Web hosts`: https://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.