This is related to a bug I raised against app engine while tying to migrate 
from django 1.5 to 1.11.

The issue is I have an app running on app engine using django 1.5.
Recently I was making a number of major updates to the app and decided to 
convert to django 1.11 as part of that update.

Everything seemed to work fine on my local dev_appserver, but when I 
deployed it to app engine, it threw an error similar to this...

ERROR    2019-02-28 19:01:49,710 wsgi.py:263]
Traceback (most recent call last):
  File 
"/home/cshiek/Programs/google-cloud-sdk-1.9.83/platform/google_appengine/google/appengine/runtime/wsgi.py",
 
line 240, in Handle
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File 
"/home/cshiek/Programs/google-cloud-sdk-1.9.83/platform/google_appengine/google/appengine/runtime/wsgi.py",
 
line 299, in _LoadHandler
    handler, path, err = LoadObject(self._handler)
  File 
"/home/cshiek/Programs/google-cloud-sdk-1.9.83/platform/google_appengine/google/appengine/runtime/wsgi.py",
 
line 96, in LoadObject
    __import__(cumulative_path)
INFO     2019-02-28 19:01:49,720 module.py:861] default: "GET 
/Common?action=%5B%22logout%22%5D HTTP/1.1" 500 -
  File 
"/home/cshiek/Programs/google-cloud-sdk-1.9.83/platform/google_appengine/google/appengine/ext/django/main.py",
 
line 82, in <module>
    management.setup_environ(settings, original_settings_path=settings_path)
AttributeError: 'module' object has no attribute 'setup_environ'


I downloaded the app back to my local development server and built a clean 
python environment using only the exact modules I needed - and then I saw 
the same setup_environ error.
The module indicated has the following code which is throwing the error.

try:
  settings = __import__(settings_path)
  management.setup_environ(settings, original_settings_path=settings_path)
except ImportError:
    pass

I changed the code to 
try:
  settings = __import__(settings_path)
  management.setup_environ(settings, original_settings_path=settings_path)
except AttributeError:
  django.setup()
except ImportError:
    pass

And everything works fine.
My problem is that the changed module appears to be inside the 
google-cloud-sdk and therefore I cannot change it in production.

My app.yaml point to django 1.11

I've searched the net and no one seems to have encountered this problem 
before...there is a lot about setup_environ, but nothing that addresses 
this particular issue.

I even raised a ticket against app engine 
(https://issuetracker.google.com/issues/124539522) but received a reply 
that it was a django problem.

Question is - has anyone else come across this problem in the app engine 
environment - and how did you resolve it?

Thanks!
/Chi







-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/853d28f7-9eab-450f-81bf-f05343939da1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to