Added notes on Python 3
This commit is contained in:
parent
2c9c269284
commit
0ac9582113
4 changed files with 64 additions and 9 deletions
52
docs/python3.rst
Normal file
52
docs/python3.rst
Normal file
|
|
@ -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…
Add table
Add a link
Reference in a new issue