FAQ: Installation

How do I get started?

What are Django’s prerequisites?

Django requires Python. See the table in the next question for the versions ofPython that work with each version of Django. Other Python libraries may berequired for some uses, but you’ll receive an error about it as they’re needed.

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 itsown lightweight development server. For a production environment, Django followsthe WSGI spec, PEP 3333, which means it can run on a variety of serverplatforms. See Deploying Django for somepopular alternatives.

If you want to use Django with a database, which is probably the case, you’llalso need a database engine. PostgreSQL is recommended, because we’rePostgreSQL fans, and MariaDB, MySQL, SQLite, and Oracle are alsosupported.

What Python version can I use with Django?

Django versionPython versions
1.112.7, 3.4, 3.5, 3.6, 3.7 (added in 1.11.17)
2.03.4, 3.5, 3.6, 3.7
2.1, 2.23.5, 3.6, 3.7
3.03.6, 3.7, 3.8

For each version of Python, only the latest micro release (A.B.C) is officiallysupported. You can find the latest micro version for each series on the Pythondownload page.

Typically, we will support a Python version up to and including the firstDjango LTS release whose security support ends after security support for thatversion of Python ends. For example, Python 3.3 security support ends September2017 and Django 1.8 LTS security support ends April 2018. Therefore Django 1.8is the last version to support Python 3.3.

What Python version should I use with Django?

Python 3 is recommended. Django 1.11 is the last version to support Python 2.7.Support for Python 2.7 and Django 1.11 ends in 2020.

Since newer versions of Python are often faster, have more features, and arebetter supported, the latest version of Python 3 is recommended.

You don’t lose anything in Django by using an older release, but you don’t takeadvantage of the improvements and optimizations in newer Python releases.Third-party applications for use with Django are, of course, free to set theirown version requirements.

Should I use the stable version or development version?

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