Skip to content

App engine upversion #2437

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Oct 8, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions appengine/flexible/analytics/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Flask==1.0.2
Flask==1.1.1
gunicorn==19.9.0
requests[security]==2.21.0
requests[security]==2.22.0
4 changes: 2 additions & 2 deletions appengine/flexible/cloudsql/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Flask==1.0.2
Flask-SQLAlchemy==2.3.2
Flask==1.1.1
Flask-SQLAlchemy==2.4.1
gunicorn==19.9.0
PyMySQL==0.9.3
6 changes: 3 additions & 3 deletions appengine/flexible/cloudsql_postgresql/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Flask==1.0.2
Flask-SQLAlchemy==2.3.2
Flask==1.1.1
Flask-SQLAlchemy==2.4.1
gunicorn==19.9.0
psycopg2==2.7.7
psycopg2==2.8.3
4 changes: 2 additions & 2 deletions appengine/flexible/datastore/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Flask==1.0.2
google-cloud-datastore==1.7.3
Flask==1.1.1
google-cloud-datastore==1.9.0
gunicorn==19.9.0
2 changes: 1 addition & 1 deletion appengine/flexible/disk/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
Flask==1.0.2
Flask==1.1.1
gunicorn==19.9.0
6 changes: 3 additions & 3 deletions appengine/flexible/django_cloudsql/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Django==2.1.10
Django==2.2.5
# mysqlclient==1.4.1 # Uncomment this line if using MySQL
wheel==0.32.3
wheel==0.33.6
gunicorn==19.9.0
psycopg2==2.7.7 # Comment this line out if using MySQL
psycopg2==2.8.3
2 changes: 1 addition & 1 deletion appengine/flexible/extending_runtime/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
Flask==1.0.2
Flask==1.1.1
gunicorn==19.9.0
2 changes: 1 addition & 1 deletion appengine/flexible/hello_world/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
Flask==1.0.2
Flask==1.1.1
gunicorn==19.9.0
2 changes: 1 addition & 1 deletion appengine/flexible/hello_world_django/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
Django==2.1.10
Django==2.2.5
gunicorn==19.9.0
4 changes: 2 additions & 2 deletions appengine/flexible/mailgun/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Flask==1.0.2
Flask==1.1.1
gunicorn==19.9.0
requests[security]==2.21.0
requests[security]==2.22.0
6 changes: 3 additions & 3 deletions appengine/flexible/mailjet/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Flask==1.0.2
Flask==1.1.1
gunicorn==19.9.0
requests[security]==2.21.0
mailjet-rest==1.3.0
requests[security]==2.22.0
mailjet-rest==1.3.3
4 changes: 2 additions & 2 deletions appengine/flexible/memcache/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Flask==1.0.2
Flask==1.1.1
gunicorn==19.9.0
pylibmc==1.6.0
pylibmc==1.6.1
4 changes: 2 additions & 2 deletions appengine/flexible/metadata/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Flask==1.0.2
Flask==1.1.1
gunicorn==19.9.0
requests[security]==2.21.0
requests[security]==2.22.0
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Flask==1.0.2
Flask==1.1.1
gunicorn==19.9.0
requests==2.21.0
requests==2.22.0
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Flask==1.0.2
Flask==1.1.1
gunicorn==19.9.0
requests==2.21.0
requests==2.22.0
4 changes: 2 additions & 2 deletions appengine/flexible/numpy/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Flask==1.0.2
Flask==1.1.1
gunicorn==19.9.0
numpy==1.16.1
numpy==1.17.2
4 changes: 2 additions & 2 deletions appengine/flexible/pubsub/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Flask==1.0.2
google-cloud-pubsub==0.39.1
Flask==1.1.1
google-cloud-pubsub==1.0.0
gunicorn==19.9.0
4 changes: 2 additions & 2 deletions appengine/flexible/redis/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Flask==1.0.2
Flask==1.1.1
gunicorn==19.9.0
redis==3.1.0
redis==3.3.8
6 changes: 3 additions & 3 deletions appengine/flexible/scipy/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Flask==1.0.2
Flask==1.1.1
gunicorn==19.9.0
numpy==1.16.1
numpy==1.17.2
scipy==1.2.0
Pillow==5.4.1
Pillow==6.1.0
21 changes: 10 additions & 11 deletions appengine/flexible/sendgrid/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

from flask import Flask, render_template, request
import sendgrid
from sendgrid.helpers import mail
from sendgrid.helpers.mail import Mail

SENDGRID_API_KEY = os.environ['SENDGRID_API_KEY']
SENDGRID_SENDER = os.environ['SENDGRID_SENDER']
Expand All @@ -33,20 +33,19 @@ def index():
# [START gae_flex_sendgrid]
@app.route('/send/email', methods=['POST'])
def send_email():
to = request.form.get('to')
if not to:
recipient = request.form.get('to')
if not recipient:
return ('Please provide an email address in the "to" query string '
'parameter.'), 400

sg = sendgrid.SendGridAPIClient(apikey=SENDGRID_API_KEY)
message = Mail(
from_email=SENDGRID_SENDER,
to_emails='{},'.format(recipient),
subject='This is a test email',
html_content='<strong>Example</strong> message.')
sg = sendgrid.SendGridAPIClient(SENDGRID_API_KEY)

to_email = mail.Email(to)
from_email = mail.Email(SENDGRID_SENDER)
subject = 'This is a test email'
content = mail.Content('text/plain', 'Example message.')
message = mail.Mail(from_email, subject, to_email, content)

response = sg.client.mail.send.post(request_body=message.get())
response = sg.send(message)

if response.status_code != 202:
return 'An error occurred: {}'.format(response.body), 500
Expand Down
4 changes: 2 additions & 2 deletions appengine/flexible/sendgrid/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Flask==1.0.2
sendgrid==5.6.0
Flask==1.1.1
sendgrid==6.1.0
gunicorn==19.9.0
2 changes: 1 addition & 1 deletion appengine/flexible/static_files/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
Flask==1.0.2
Flask==1.1.1
gunicorn==19.9.0
4 changes: 2 additions & 2 deletions appengine/flexible/storage/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Flask==1.0.2
google-cloud-storage==1.13.2
Flask==1.1.1
google-cloud-storage==1.19.1
gunicorn==19.9.0
4 changes: 2 additions & 2 deletions appengine/flexible/tasks/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Flask==1.0.2
Flask==1.1.1
gunicorn==19.9.0
google-cloud-tasks==1.1.0
google-cloud-tasks==1.2.1
googleapis-common-protos==1.6.0
4 changes: 2 additions & 2 deletions appengine/flexible/twilio/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Flask==1.0.2
Flask==1.1.1
gunicorn==19.9.0
twilio==6.24.0
twilio==6.31.0
4 changes: 2 additions & 2 deletions appengine/flexible/websockets/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Flask==1.0.2
Flask==1.1.1
Flask-Sockets==0.2.1
gunicorn==19.9.0
requests==2.21.0
requests==2.22.0
4 changes: 2 additions & 2 deletions appengine/standard/analytics/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Flask==1.0.2
requests==2.21.0
Flask==1.1.1
requests==2.22.0
requests-toolbelt==0.9.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Flask==0.12.4
Flask==1.1.1
pyjwt==1.7.1
flask-cors==3.0.7
google-auth==1.6.2
requests==2.21.0
flask-cors==3.0.8
google-auth==1.6.3
requests==2.22.0
requests-toolbelt==0.9.1
4 changes: 2 additions & 2 deletions appengine/standard/firebase/firetactoe/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
flask==1.0.2
requests==2.21.0
flask==1.1.1
requests==2.22.0
requests_toolbelt==0.9.1
oauth2client==4.1.3
functools32==3.2.3.post2; python_version < "3"
4 changes: 2 additions & 2 deletions appengine/standard/flask/tutorial/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
Flask==0.12.4
Werkzeug<0.13.0,>=0.12.0
Flask==1.1.1
Werkzeug==0.16.0
2 changes: 1 addition & 1 deletion appengine/standard/iap/requirements.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Flask==1.0.2
Flask==1.1.1
2 changes: 1 addition & 1 deletion appengine/standard/mailgun/requirements.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
httplib2==0.12.0
httplib2==0.13.1
6 changes: 3 additions & 3 deletions appengine/standard/mailjet/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Flask==1.0.2
requests==2.21.0
Flask==1.1.1
requests==2.22.0
requests-toolbelt==0.9.1
mailjet-rest==1.3.0
mailjet-rest==1.3.3
2 changes: 1 addition & 1 deletion appengine/standard/ndb/transactions/requirements.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Flask==1.0.2
Flask==1.1.1
4 changes: 2 additions & 2 deletions appengine/standard/pubsub/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
Flask==1.0.2
google-api-python-client==1.7.8
Flask==1.1.1
google-api-python-client==1.7.11
18 changes: 8 additions & 10 deletions appengine/standard/sendgrid/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

# [START sendgrid-imp]
import sendgrid
from sendgrid.helpers import mail
from sendgrid.helpers.mail import Mail
# [END sendgrid-imp]
import webapp2

Expand All @@ -29,16 +29,14 @@

def send_simple_message(recipient):
# [START sendgrid-send]
message = Mail(
from_email=SENDGRID_SENDER,
to_emails='{},'.format(recipient),
subject='This is a test email',
html_content='<strong>Example</strong> message.')

sg = sendgrid.SendGridAPIClient(apikey=SENDGRID_API_KEY)

to_email = mail.Email(recipient)
from_email = mail.Email(SENDGRID_SENDER)
subject = 'This is a test email'
content = mail.Content('text/plain', 'Example message.')
message = mail.Mail(from_email, subject, to_email, content)

response = sg.client.mail.send.post(request_body=message.get())
sg = sendgrid.SendGridAPIClient(SENDGRID_API_KEY)
response = sg.send(message)

return response
# [END sendgrid-send]
Expand Down
2 changes: 1 addition & 1 deletion appengine/standard/sendgrid/requirements.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
sendgrid==5.6.0
sendgrid==6.1.0
4 changes: 2 additions & 2 deletions appengine/standard/storage/api-client/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
google-api-python-client==1.7.8
google-auth==1.6.2
google-api-python-client==1.7.11
google-auth==1.6.3
google-auth-httplib2==0.0.3
4 changes: 2 additions & 2 deletions appengine/standard/storage/appengine-client/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,8 @@ def create_file(self, filename):
filename, 'w', content_type='text/plain', options={
'x-goog-meta-foo': 'foo', 'x-goog-meta-bar': 'bar'},
retry_params=write_retry_params) as cloudstorage_file:
cloudstorage_file.write('abcde\n')
cloudstorage_file.write('f'*1024*4 + '\n')
cloudstorage_file.write('abcde\n')
cloudstorage_file.write('f'*1024*4 + '\n')
self.tmp_filenames_to_clean_up.append(filename)
# [END write]

Expand Down
4 changes: 2 additions & 2 deletions appengine/standard/urlfetch/requests/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Flask==1.0.2
requests==2.21.0
Flask==1.1.1
requests==2.22.0
requests-toolbelt==0.9.1
4 changes: 2 additions & 2 deletions appengine/standard_python37/bigquery/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
google-cloud-bigquery==1.9.0
Flask==1.0.2
google-cloud-bigquery==1.20.0
Flask==1.1.1
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Flask==1.0.2
Flask==1.1.1
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
Flask==1.0.2
google-cloud-datastore==1.7.3
Flask==1.1.1
google-cloud-datastore==1.9.0
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Flask==1.0.2
google-cloud-datastore==1.7.3
google-auth==1.6.2
requests==2.21.0
Flask==1.1.1
google-cloud-datastore==1.9.0
google-auth==1.6.3
requests==2.22.0
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Flask==1.0.2
google-cloud-datastore==1.7.3
google-auth==1.6.2
requests==2.21.0
Flask==1.1.1
google-cloud-datastore==1.9.0
google-auth==1.6.3
requests==2.22.0
8 changes: 4 additions & 4 deletions appengine/standard_python37/cloudsql/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
flask==1.0.2
psycopg2==2.7.7
psycopg2-binary==2.7.7
flask==1.1.1
psycopg2==2.8.3
psycopg2-binary==2.8.3
PyMySQL==0.9.3
SQLAlchemy==1.2.17
SQLAlchemy==1.3.8
4 changes: 2 additions & 2 deletions appengine/standard_python37/custom-server/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
uwsgi==2.0.17.1
flask==1.0.2
uwsgi==2.0.18
flask==1.1.1
2 changes: 1 addition & 1 deletion appengine/standard_python37/django/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
Django==2.1.11
Django==2.2.5
Copy link

@Chetchaiyan Chetchaiyan Oct 10, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found problem when upgrade Django from 2.1.11 to 2.2.5 as shown in this update.

The error state that
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.
Which shown the problem coming from PyMySQL 0.9.3

Can you give me advise on fixing or avoiding this error?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Chetchaiyan I think you just need to update your mysqlclient version in your project requirements to be mysqlclient==1.4.4 or run pip install --upgrade mysqlclient. You're confusing this library with PyMySQL, which is in fact version 0.9.3.

Feel free to follow up offline with me, email is github<at>gusclass<dot>com

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Chetchaiyan I am having the same issue.

@gguuss I tried both of your suggestions:

  • Adding mysqlclient==1.4.4 to the requirements.txt then running pip install -r requirements.txt
  • Or running pip install --upgrade mysqlclient

For both of your suggestions I got these errors:

  • ERROR: Command errored out with exit status 1
  • ...
  • MySQLdb/_mysql.c(29): fatal error C1083: Cannot open include file: 'mysql.h': No such file or directory
  • ...
  • ERROR: Failed building wheel for mysqlclient

However, when I simply change back Django==2.1.11 everything runs exactly as it is described in this Getting Started guide that I am following. Therefore, I was able to successfully finish the guide and achieve my learning objective but I'm concerned another beginner behind me may not get to completion and get frustrated with this same error. It seems to me that something else needs to be addressed in the appengine/standard_python37/django/ example when upgrading to Django to 2.2.5 but I'm too novice at Python and Django to know / understand what else needs to be changed.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The skeleton of the project requirements.txt makes the assumption that we are going to be using PyMySQL, which is incompatible with Django 2.2.5. I suggest either changing the requirement to use mysqlclient instead or wait for a PyMySQL version bump.

PyMySQL==0.9.3
2 changes: 1 addition & 1 deletion appengine/standard_python37/hello_world/requirements.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Flask==1.0.2
Flask==1.1.1
6 changes: 3 additions & 3 deletions appengine/standard_python37/pubsub/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Flask==1.0.2
google-api-python-client==1.7.8
Flask==1.1.1
google-api-python-client==1.7.11
google-auth==1.6.3
google-cloud-pubsub==0.40.0
google-cloud-pubsub==1.0.0
4 changes: 2 additions & 2 deletions appengine/standard_python37/redis/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
Flask==1.0.2
redis==3.2.1
Flask==1.1.1
redis==3.3.8
4 changes: 2 additions & 2 deletions appengine/standard_python37/spanner/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
google-cloud-spanner==1.7.1
Flask==1.0.2
google-cloud-spanner==1.10.0
Flask==1.1.1
2 changes: 1 addition & 1 deletion appengine/standard_python37/warmup/requirements.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
flask==1.0.2
flask==1.1.1