Running web2py with Python 2 vs. Python 3

When web2py was born, there was only Python version 2.5 available (in fact, Python 3.0 was released on December, 2008). It took almost 10 years, but in 2017 web2py was finally made compatible with both Python 2.7 AND Python 3.5+. The older Python 2.6 is deprecated and no more supported with recent releases.

Pyhon 3 compatibility was indeed a huge milestone (for many and many reasons) but it required a careful check and rewrite of most of the framework. And the need of compatibility of all the required external libraries was a missing requirement for a long time.

For new projects, we suggest you to use the latest release of web2py in the source form and to run it with Pyton 3.

For existing projects, you should instead evaluate carefully what to do: remaining with Python 2 or begining the conversion of your application to Python 3. Be careful: web2py apps created with Python 2 require web2py running under Python 2 and apps created using Python 3 requires web2py running Python 3. They cannot be mixed.