I want to port a web application scanning framework from Python 2.6.5-2.7.3 to Python 3 without causing much harm to the compatibility with Python 2.6+.
I have read briefly about six: Python 2 and 3 Compatibility Library and python-modernize.
The framework I am intending to port uses libraries like twisted which are natively supported in Python 2. I have read http://twistedmatrix.com/trac/wiki/Plan/Python3 which warns against usage of 2to3 at any stage during this process.
The fact that python-modernize is a version of 2to3 has been another source of confusion.
May I have some suggesions on the optimal approach to carry out such a porting and some common bugs that I might encounter ?
python-modernizeproduces Python 2 code that should also work on Python 3. You could use it if you want to support both Python 2 and 3 from the same codebase (as twisted does). Presumably, you should call it manually unlike 2to3 that may be called automatically bysetup.py.pip installsuccessfully in Python 3, but have things likeexcept SomeError, exc:(not compatible), etc. For instance, I just tried to use Python 3 in Heroku with Gunicorn and eventlet... no dice.