Python 3 SupportΒΆ

Flask, its dependencies, and most Flask extensions support Python 3. You should start using Python 3 for your next project, but there are a few things to be aware of.

You need to use Python 3.3 or higher. 3.2 and older are not supported.

You should use the latest versions of all Flask-related packages. Flask 0.10 and Werkzeug 0.9 were the first versions to introduce Python 3 support.

Python 3 changed how unicode and bytes are handled, which complicates how low level code handles HTTP data. This mainly affects WSGI middleware interacting with the WSGI environ data. Werkzeug wraps that information in high-level helpers, so encoding issues should not affect you.

The majority of the upgrade work is in the lower-level libraries like Flask and Werkzeug, not the high-level application code. For example, all of the examples in the Flask repository work on both Python 2 and 3 and did not require a single line of code changed.