@@ -7,53 +7,25 @@ Flask and all of its dependencies support Python 3 so you can in theory
7
7
start working on it already. There are however a few things you should be
8
8
aware of before you start using Python 3 for your next project.
9
9
10
- Requirements
11
- ------------
12
-
13
10
If you want to use Flask with Python 3 you will need to use Python 3.3 or
14
11
higher. 3.2 and older are *not * supported.
15
12
16
13
In addition to that you need to use the latest and greatest versions of
17
- `itsdangerous `, `Jinja2 ` and `Werkzeug `.
18
-
19
- API Stability
20
- -------------
14
+ `itsdangerous `, `Jinja2 ` and `Werkzeug `. Flask 0.10 and Werkzeug 0.9 were
15
+ the first versions to introduce Python 3 support.
21
16
22
17
Some of the decisions made in regards to unicode and byte utilization on
23
18
Python 3 make it hard to write low level code. This mainly affects WSGI
24
19
middlewares and interacting with the WSGI provided information. Werkzeug
25
20
wraps all that information in high-level helpers but some of those were
26
21
specifically added for the Python 3 support and are quite new.
27
22
28
- A lot of the documentation out there on using WSGI leaves out those
29
- details as it was written before WSGI was updated to Python 3. While the
30
- API for Werkzeug and Flask on Python 2.x should not change much we cannot
31
- guarantee that this won't happen on Python 3.
32
-
33
- Few Users
34
- ---------
35
-
36
- Although moving to Python 3 should be done someday, most people still use
37
- Python 2 for now. As a result many of the problems you will encounter are
38
- probably hard to search for on the internet if they are Python 3 specific.
39
-
40
- Small Ecosystem
41
- ---------------
42
-
43
- Some Flask extensions, documentation and PyPI provided libraries do not
44
- support Python 3 yet.
45
-
46
- Even if you start your project with knowing that all you will need is
47
- supported by Python 3 you don't know what happens six months from now.
48
- But if you are familiar with Python 3 and Flask extension, you can start
49
- porting libraries on your own.
50
-
51
- Recommendations
52
- ---------------
53
-
54
- Unless you are already familiar with the differences in the versions we
55
- recommend sticking to current versions of Python until the ecosystem
56
- caught up.
23
+ Unless you require absolute compatibility, you should be fine with Python 3
24
+ nowadays. Most libraries and Flask extensions have been ported by now and
25
+ using Flask with Python 3 is generally a smooth ride. However, keep in mind
26
+ that most libraries (including Werkzeug and Flask) might not quite as stable
27
+ on Python 3 yet. You might therefore sometimes run into bugs that are
28
+ usually encoding-related.
57
29
58
30
The majority of the upgrade pain is in the lower-level libararies like
59
31
Flask and Werkzeug and not in the actual high-level application code. For
0 commit comments