1. =================
    
  2. FAQ: Installation
    
  3. =================
    
  4. 
    
  5. How do I get started?
    
  6. =====================
    
  7. 
    
  8. #. `Download the code`_.
    
  9. #. Install Django (read the :doc:`installation guide </intro/install>`).
    
  10. #. Walk through the :doc:`tutorial </intro/tutorial01>`.
    
  11. #. Check out the rest of the :doc:`documentation </index>`, and `ask questions`_ if you
    
  12.    run into trouble.
    
  13. 
    
  14. .. _`Download the code`: https://www.djangoproject.com/download/
    
  15. .. _ask questions: https://www.djangoproject.com/community/
    
  16. 
    
  17. What are Django's prerequisites?
    
  18. ================================
    
  19. 
    
  20. Django requires Python. See the table in the next question for the versions of
    
  21. Python that work with each version of Django. Other Python libraries may be
    
  22. required for some use cases, but you'll receive an error about them as they're
    
  23. needed.
    
  24. 
    
  25. For a development environment -- if you just want to experiment with Django --
    
  26. you don't need to have a separate web server installed or database server.
    
  27. 
    
  28. Django comes with its own :djadmin:`lightweight development server<runserver>`.
    
  29. For a production environment, Django follows the WSGI spec, :pep:`3333`, which
    
  30. means it can run on a variety of web servers. See :doc:`Deploying Django
    
  31. </howto/deployment/index>` for more information.
    
  32. 
    
  33. Django runs `SQLite`_ by default, which is included in Python installations.
    
  34. For a production environment, we recommend PostgreSQL_; but we also officially
    
  35. support MariaDB_, MySQL_, `SQLite`_, and Oracle_. See :doc:`Supported Databases
    
  36. </ref/databases>` for more information.
    
  37. 
    
  38. .. _Python: https://www.python.org/
    
  39. .. _PostgreSQL: https://www.postgresql.org/
    
  40. .. _MariaDB: https://mariadb.org/
    
  41. .. _MySQL: https://www.mysql.com/
    
  42. .. _`SQLite`: https://www.sqlite.org/
    
  43. .. _Oracle: https://www.oracle.com/
    
  44. 
    
  45. .. _faq-python-version-support:
    
  46. 
    
  47. What Python version can I use with Django?
    
  48. ==========================================
    
  49. 
    
  50. ============== ===============
    
  51. Django version Python versions
    
  52. ============== ===============
    
  53. 2.2            3.5, 3.6, 3.7, 3.8 (added in 2.2.8), 3.9 (added in 2.2.17)
    
  54. 3.1            3.6, 3.7, 3.8, 3.9 (added in 3.1.3)
    
  55. 3.2            3.6, 3.7, 3.8, 3.9, 3.10 (added in 3.2.9)
    
  56. 4.0            3.8, 3.9, 3.10
    
  57. 4.1            3.8, 3.9, 3.10, 3.11 (added in 4.1.3)
    
  58. ============== ===============
    
  59. 
    
  60. For each version of Python, only the latest micro release (A.B.C) is officially
    
  61. supported. You can find the latest micro version for each series on the `Python
    
  62. download page <https://www.python.org/downloads/>`_.
    
  63. 
    
  64. Typically, we will support a Python version up to and including the first
    
  65. Django LTS release whose security support ends after security support for that
    
  66. version of Python ends. For example, Python 3.3 security support ended
    
  67. September 2017 and Django 1.8 LTS security support ended April 2018. Therefore
    
  68. Django 1.8 is the last version to support Python 3.3.
    
  69. 
    
  70. What Python version should I use with Django?
    
  71. =============================================
    
  72. 
    
  73. Since newer versions of Python are often faster, have more features, and are
    
  74. better supported, the latest version of Python 3 is recommended.
    
  75. 
    
  76. You don't lose anything in Django by using an older release, but you don't take
    
  77. advantage of the improvements and optimizations in newer Python releases.
    
  78. Third-party applications for use with Django are free to set their own version
    
  79. requirements.
    
  80. 
    
  81. Should I use the stable version or development version?
    
  82. =======================================================
    
  83. 
    
  84. Generally, if you're using code in production, you should be using a
    
  85. stable release. The Django project publishes a full stable release
    
  86. every nine months or so, with bugfix updates in between. These stable
    
  87. releases contain the API that is covered by our backwards
    
  88. compatibility guarantees; if you write code against stable releases,
    
  89. you shouldn't have any problems upgrading when the next official
    
  90. version is released.