Note that there are some explanatory texts on larger screens.

plurals
  1. POImport Error for User Model
    text
    copied!<p>I have this piece of code which is running perfectly on localhost but throws up this obscure error on GAE:</p> <p><code>import_string() failed for 'webapp2_extras.appengine.auth.models.User' . Possible reasons are: - missing __init__.py in a package; - package or module</code></p> <p>My import statements:</p> <pre><code>from webapp2_extras import auth from webapp2_extras import sessions from webapp2_extras.auth import InvalidAuthIdError from webapp2_extras.auth import InvalidPasswordError </code></pre> <p>Usage of <code>auth's</code> user model:</p> <pre><code>user = self.auth.store.user_model.create_user(username, password_raw = password, email = email) if not user[0]: #returns a tuple with [boolean, user_info] return 'Create user error' else: self.set_flash("Thank you for registering. Please login!") self.redirect(self.auth_config['login_url']) </code></pre> <p><a href="https://github.com/prakhar1989/webapp2_auth/blob/master/main.py" rel="noreferrer">Full code</a></p> <h1>UPDATE (Full stack trace)</h1> <pre><code>import_string() failed for 'webapp2_extras.appengine.auth.models.User'. Possible reasons are: - missing __init__.py in a package; - package or module path not included in sys.path; - duplicated package or module name taking precedence in sys.path; - missing module, class, function or variable; Original exception: ImportError: No module named ndb Debugged import: - 'webapp2_extras' found in '/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2_extras/__init__.pyc'. - 'webapp2_extras.appengine' found in '/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2_extras/appengine/__init__.pyc'. - 'webapp2_extras.appengine.auth' found in '/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2_extras/appengine/auth/__init__.pyc'. - 'webapp2_extras.appengine.auth.models' not found. Traceback (most recent call last): File "/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 1511, in __call__ rv = self.handle_exception(request, response, e) File "/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 1505, in __call__ rv = self.router.dispatch(request, response) File "/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 1253, in default_dispatcher return route.handler_adapter(request, response) File "/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 1077, in __call__ return handler.dispatch() File "/base/data/home/apps/s~webapp-auth/1.358936463581927371/main.py", line 34, in dispatch response = super(BaseHandler, self).dispatch() File "/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 547, in dispatch return self.handle_exception(e, self.app.debug) File "/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 545, in dispatch return method(*args, **kwargs) File "/base/data/home/apps/s~webapp-auth/1.358936463581927371/main.py", line 127, in post user = self.auth.store.user_model.create_user(username, password_raw = password, email = email) File "/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 701, in __get__ value = self.func(obj) File "/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2_extras/auth.py", line 131, in user_model cls = self.config['user_model'] = webapp2.import_string(cls) File "/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 1824, in import_string return getattr(__import__(module, None, None, [obj]), obj) File "/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2_extras/appengine/auth/models.py", line 13, in &lt;module&gt; from ndb import model </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload