2

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 ?

6
  • 1
    I found this very useful when I was porting: docs.python.org/3/howto/pyporting.html Commented Mar 18, 2014 at 14:04
  • python-modernize produces 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 by setup.py. Commented Mar 18, 2014 at 14:20
  • The thing to be more concerned about is whether or not any of your dependencies (the greater the number, the more likely) are incompatible with Python 3. Many libraries will pip install successfully in Python 3, but have things like except SomeError, exc: (not compatible), etc. For instance, I just tried to use Python 3 in Heroku with Gunicorn and eventlet... no dice. Commented Mar 18, 2014 at 14:33
  • @Ffisegydd Thanks for pointing out. I have edited my post accordingly. Commented Mar 18, 2014 at 15:40
  • This is a very broad question. "May I have some suggesions [sic] on the optimal approach to carry out such a porting and some common bugs that I might encounter ?" Commented Mar 18, 2014 at 20:17

0

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.