Not long ago - about three years ago, whenever someone asked me which Python version should be used for our new project? - I would replay: we start Python 2.7 and later on maybe move to Python 3.x.
One year ago I received similar question: should we start our new project with version 2? - I was very confident in my reply: Nope, we start 3.6 as the proven stable 3 version.
Today, believe me or not, for starting a project I would already recommend Python 3.7.
My current thoughts on Python versioning are:
- 2.7 is very stable and performant, but will not be supported after 2020.
- I have the feeling 3.6 is used in most new projects today. Is my feeling right?
- 3.7 has many standard library improvements and the performance is competitive with 2.7 - see here. These I know also from experience.
- Python >= 3.8: After the BDFL proudly left the building, and I say this with really high respect to Mr.Rossum, a new governance model was introduced. I am looking forward to see if this will have negative / positive effect or no effect at all.
My questions for you are:
- Which Python version is your current live project using?
- Which version would you recommend for starting a new project?