App Engine 2.7 End of Support in 2024?!

While deploying my app recently I've seen a warning that said after 01.01.2024 I will no longer be able to make changes to my app

I haven't received any warnings or emails before end regarding this EOL - and researching it now, I can't see any information about this online either

2 months is really not enough time to move my app elsewhere, I believe there should at least be a year of explicit warnings and emails

Can anyone share some information regarding this warning

0 13 1,036
13 REPLIES 13

Hello Kaan,

as far I can tell I can see the first notice was delivered in mail January 30th this year, about 1 year in advance.

Hi,

- According to their documentation, App Engine will begin issuing in-app notifications 90 days before the application reaches end of support (see link). For details about the timeline, refer to their Runtime support schedule page.

- Their documentation for Python 2 has had a banner on top about the deprecation for many months now (see this).

- It might not be advisable to move your App elsewhere because you also run the same risk of the new place discontinuing support for Python 2.7 given that Python 2 was initially sunset in 2015 and then the sunset was moved to 2020 (see this). So, before you move, confirm your new host has no plans to drop support for Python 2 or it's far in the future for them.

- Google has provided a migration path/plan to migrate from Python 2 to Python 3. It might turn out to be less difficult than you expect.

- Also take a look at this question here on Google Cloud Community to see if the response helps you with the migration from Python 2 to 3

 

..... NoCommandLine ......
 https://nocommandline.com
A GUI for Google App Engine

Hi @Kaan,
It looks like you'll have to rush things a bit now, but if (like I did) you use what it's now called Bundled Services ; then, you're migration to Python 3 could be done a lot faster (unless you use third-party libraries that need to migrate as well).
Most of my time during this upgrade I spent it migrating webapp2 to Flask, which meant migrating also Django templates to Jinja2.

These should help:
https://www.youtube.com/watch?v=Tyyv4_Khyk0&t=271s
You'll find in the description many other useful links.

https://codelabs.developers.google.com/codelabs/cloud-gae-python-migrate-1-flask

https://github.com/GoogleCloudPlatform/appengine-python-standard

Also, just ask here if/when you get stuck and most of the time you'll get help.
Best,
Michael

 

Hi,

It seems I only got an October 23th email, missed it as I was going through a life emergency, but even if I didn't miss it, definitely not enough of a warning to make changes

However I see that Python3 local emulation is a thing now, my main source of sadness was that I would be no longer to let anyone practically run my open sourced app: https://github.com/kaansoral/adventureland

It seems I missed the dev_appserver being ported to Python3 - I really hope it still supports everything, at least having the sqlite db would be enough I guess

And thanks for your suggestions Michael - if there isn't a gotcha I missed, I think I should make it in time

Regards

A few things to know

1. Local data is stored as JAVA objects in the datastore emulator and no longer in an sqlite3 db (source ). According to the linked documentation 

> ...When dev_appserver is launched with legacy sqlite3 data, the data will be converted to Java objects...

However, this wasn't happening (don't know if they've fixed the issue now). That bug means you can't directly reuse data from your Python 2 objects stored locally in your Python3 App (there's no problem on Production). If you run into the issue, @micdearmas has a manual work around (see his post in here)

2. If you develop on Windows, dev_appserver.py doesn't support Python 3 Apps on Windows (source). We have a patch that overcomes that restriction.

 

..... NoCommandLine ......
 https://nocommandline.com
A GUI for Google App Engine

Thank you both for all your hard work and keeping the community alive!

Thank you for  reply

!

Same issue.....

I wonder if this is a common issue but no matter what I tried:

ImportError: No module named flask

I couldn't get past this import error yet - Installed flask with pip2.7, afterwards created a virtualenv and installed flask into that environment too - but no matter what I did, it doesn't work, same error

I know the virtualenv worked as I had to reinstall lxml going into the environment - so ultimately a very bizarre issue on my end, since our bizarre issues has been common in the past, I wonder if someone else stumbled onto this one as well

Maybe take a look at this issue I ran into a few months ago and I believe it hasn't been resolved in GAE, but I found that workaround.

It could be related or similar.

Create the virtual env using Python 3 and then run the command to install the contents of your requirements.txt file (flask should be listed in it) using pip3

If the above still doesn't resolve your issue, show us how you're trying to import flask i.e. include the code for importing flask in your question.

 

... NoCommandLine ......
 https://nocommandline.com
A GUI for Google App Engine
    & Datastore Emulator

It seems my issue was related to never using `vendor.add('lib')` before - doing a `pip install -t lib -r requirements.txt` with flask in it was the solution

Didn't switch to testing Python3 yet, I have to support the Python2.7 dev_appserver indefinitely

If your application design supports Google Cloud Run, you can build a container for Python 2.7 and run your application.

There is a lot of feature overlap between App Engine and Cloud Run. There are differences that might affect you.