mirror of https://github.com/mitsuhiko/flask.git
Armin Ronacher
12 years ago
4 changed files with 64 additions and 9 deletions
@ -0,0 +1,52 @@
|
||||
.. _python3_support: |
||||
|
||||
Python 3 Support |
||||
================ |
||||
|
||||
Flask and all of its dependencies support Python 3 so you can in theory |
||||
start working on it already. There are however a few things you should be |
||||
aware of before you start using Python 3 for your next project. |
||||
|
||||
API Stability |
||||
------------- |
||||
|
||||
Some of the decisions made in regards to unicode and byte untilization on |
||||
Python 3 make it hard to write low level code. This mainly affects WSGI |
||||
middlewares and interacting with the WSGI provided information. Werkzeug |
||||
wraps all that information in high-level helpers but some of those were |
||||
specifically added for the Python 3 support and are quite new. |
||||
|
||||
A lot of the documentation out there on using WSGI leaves out those |
||||
details as it was written before WSGI was updated to Python 3. While the |
||||
API for Werkzeug and Flask on Python 2.x should not change much we cannot |
||||
guarantee that this won't happen on Python 3. |
||||
|
||||
Few Users |
||||
--------- |
||||
|
||||
Python 3 currently has less than 1% of the users of Python 2 going by PyPI |
||||
download stats. As a result many of the problems you will encounter are |
||||
probably hard to search for on the internet if they are Python 3 specific. |
||||
|
||||
Small Ecosystem |
||||
--------------- |
||||
|
||||
The majority of the Flask extensions, all of the documentation and the |
||||
vast majority of the PyPI provided libraries do not support Python 3 yet. |
||||
Even if you start your project with knowing that all you will need is |
||||
supported by Python 3 you don't know what happens six months from now. If |
||||
you are adventurous you can start porting libraries on your own, but that |
||||
is nothing for the faint of heart. |
||||
|
||||
Recommendations |
||||
--------------- |
||||
|
||||
Unless you are already familiar with the differences in the versions we |
||||
recommend sticking to current versions of Python until the ecosystem |
||||
caught up. |
||||
|
||||
The majority of the upgrade pain is in the lower-level libararies like |
||||
Flask and Werkzeug and not in the actual high-level application code. For |
||||
instance all of the Flask examples that are in the Flask repository work |
||||
out of the box on both 2.x and 3.x and did not require a single line of |
||||
code changed. |
Loading…
Reference in new issue