The clock is ticking on Python 2.7, with support to be dropped in
January 2020. With major dependencies such as Django, NumPy and pandas
moving to Python 3 only, the time has come for even big established
codebases to consider upgrading. Many organisations are still postponing
for various reasons; we will attempt to demonstrate that with a bit of
planning and perseverance, and the assistance of some handy tools, we
can embrace the future!
This session will provide a first-hand perspective on how we upgraded a
large (~65,000 lines of python code) 8-year-old Django project with
multiple external dependencies from Python 2.7 to Python 3.6.
We will briefly discuss the benefits of upgrading to Python 3, and
architectural considerations. The session will primarily focus on the
practicalities of upgrading the code itself. We will not try to provide
a single “best” solution for upgrading to Python 3, but rather will
introduce some of the available tools, provide an insight into how we
used them, and their advantages and disadvantages from our experience.
We will discuss preparatory steps and approaches, strategies for dealing
with external dependencies, and “gotchas” that we encountered during the
The aim of this session is to provide an example of how a Python 3
upgrade on an established commercial product can be successfully
completed, and to furnish audience members with a set of tools and
strategies to help them with their own projects.
I would like to work with open source projects to create a branch of the tree with all
of the best videos for your open source project. Please
send me an email if you are interested.