Tutorials/Python 3: Making the Leap!

From LCA2014 Delegate Wiki
Revision as of 12:06, 8 January 2014 by Tim Leslie (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

On Wednesday at 10:40 in the Robert Street Lecture Theatre I will be running a tutorial on porting code written for python 2 to work in python 3.

This session will be live and interactive, so to get the most out of the tutorial, please bring along a laptop and be ready to hack.


What will be covered?

Getting code to run on python 3 is a *massive* topic, and we could spend an entire week looking at it and not cover everything. As we only have 100 minutes we will only cover a relatively small, but IMHO important, subset of the topic. In particular, we will look at.

  • How to get code which currently runs under 2.7 to run under 3.3 (without maintaining 2.7 backwards compatibility).
  • How to modify your 2.7 code to be as close to 3.3 compatible as possible.
  • How to use different tools to automate the porting process.
  • Common gotchas with the automated tools which may require manual intervention
  • Strategies for using all the different tools and techniques to make the porting process as simple as possible.

We unfortunately won't be able to cover some interesting topics, including

  • How to get code to run under python 2 and 3 simultaneously.
  • How to port python extension modules.
  • How to use brand new features which have been introduced in python 3.

The session will cater to a fairly broad range of abilities. If you're a python newbie, you should be able to keep up with everything. If you're a python guru you might just learn something new (I know I did while preparing the session!).

What to bring

  • A laptop with python 2 and python 3 installed.
  • A shell and text editor.
  • Any python code which you'd like help porting form 2 to 3.
  • The example code from github: https://github.com/timleslie/LCA_py2to3

All examples are platform agnostic and should work on linux/osx/windows.

What to do

  • Turn up :-)
  • Follow along with all the examples.
  • Try out the techniques on your code as we go.
  • Ask questions if you would like clarification...
  • ... but understand that the answer might be "that's beyond the scope of this session, come and chat with me later".
  • Edit this wiki! If you have questions or know of relevant resources, please share them on this page for the benefit of all over the week.
  • If we get to the end of the session and you have questions or want to chat about anything, please come and say hi :-)

I look forward to seeing you all for a fun and interesting session.



EDIT ME! If you have a question you'd like more details on, feel free to list it here.


EDIT ME! If you know of a useful resource for python 2 to 3 porting, please add it here.