3

After upgrading pip to the latest version (19.0.1) I got the following message:

DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.

Googling around the only thing I found is a link with a countdown clock but not a real documentation on this topic nor any alert from Google.

I work every day developing new solutions on GCP using Python 2.7, I use different GCP services (i.e.: Appengine Flex, GKE, GCE, aso..), If Python 2.7 is going to be deprecated within less than one year, do I have do be worried that my code won't be working after this date? What'd happen if I'd try to deploy my code on Appengine Flex? Will it be supported yet? Do I have to upgrade all the projects I have in production to Python 3.6?

5
  • 4
    Why are you still writing any new Python 2.7 code? The writing is on the wall for years for this.
    – Sven
    Feb 6, 2019 at 15:21
  • 1
    Not a definitive answer (and for a subproduct anyway), but a strong hint to get rid of 2.7: cloud.google.com/composer/docs/concepts/python-version?hl=de
    – Sven
    Feb 6, 2019 at 15:33
  • Indeed, the time to stop writing Python 2 code was many years ago. This is long, long overdue. Feb 6, 2019 at 16:04
  • 1
    One reason is that key features of AppEngine (ndb, ImageService etc.) are only available on Python 2.7.
    – max
    Feb 23, 2019 at 8:28
  • 1
    Porting an App Engine app from Python 2.7 to Python 3 will be a huge problem for many people. With most of the App Engine API's been dropped, it's not a simple port, it's going to require a full re-write in most cases.
    – Joe Bourne
    Feb 25, 2019 at 21:13

2 Answers 2

3

PEP 373 -- Python 2.7 Release Schedule, linked by the countdown clock you have found, states:

Maintenance releases

Being the last of the 2.x series, 2.7 will have an extended period of maintenance. Specifically, 2.7 will receive bugfix support until January 1, 2020. After the last release, 2.7 will receive no support.

This definitive date has been added on 2018-03-12 and was based on Guido van Rossum's (the author of python and its benevolent dictator for life) reply from mailing list. Before that, there has been a mention of EOL postponed from 2015 to 2020 which was added on 2014-04-13.

Your applications will remain working on systems which will have python 2.7 support installed even past this date, but the support is ultimately decided by your GCP services providers. Most of the major modules and frameworks already stopped adding features for 2.7, so I would definitely suggest to upgrade all your projects to 3.x.

1

This notice means that Python 2.7 will no longer be supported starting January 1rst 2020. It also means that there is no guarantee of the behavior of apps that are running using Python 2.7. I would highly suggest upgrading to Python 3.6 before the time mentioned to ensure that all of your applications will run as intended.

3
  • 2
    At least for AppEngine Standard environment this is next to impossible because many core services of the App Engine Environment are only Supported by 2.7 and not by 3.7.
    – max
    Feb 23, 2019 at 8:29
  • Exactly. porting App Engine apps from Python 2.7 to Python 3 will be a major headache for many people as much of the functionality has been dropped. it's really strange that Google would make such a huge breaking change. If you have to re-write everything, people will naturally look at alternative platforms especially since there are no App Engine specific APIs left after the move to Python 3.
    – Joe Bourne
    Feb 25, 2019 at 21:11
  • 1
    note that this is not something that Google did nor mentioned, this is done by PIP. Google has not made any statements about python 2.x deprecation as far as I'm aware. Also note that you can always run a custom runtime with whatever. If you can get fe. Brainf*ck to respond to HTTP requests you can run it in GAE
    – Edo Akse
    Apr 19, 2019 at 10:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .