At Dropbox, we’ve always used Python to power our application for Windows, macOS and Linux (until recently, Python 2.7). Over the years, a growing lack of features and the need for outdated compilers/toolchains made migrating to Python 3 a necessity. Join us to hear the tale of our unique journey from Python 2 to 3 and the lessons we learned along the way:
- We’ll discuss the reasons that led to our decision to make the jump.
- We’ll dive into how we sequenced the transition by using the C-API to ship both versions of Python and choose one at runtime.
- We’ll reveal the tools we used to enforce a hybrid (2/3) syntax for over hundreds of thousands of lines of Python code.
- We’ll discuss some of our most spectacular bugs and gotchas, and how you can avoid them!