I've started using Eclipe+PyDev as an environment for developing my first app for Google App Engine. Eclipse is configured according to this tutorial.
Everything was working until I start to use memcache. PyDev reports the errors and I don't know how to fix it:

Error: Undefined variable from import: get
How to fix this? Sure, it is only PyDev checker problem. Code is correct and run on GAE.
UPDATE:
C:\Program Files\Google\google_appengineC:\Program Files\Google\google_appengine\lib\djangoC:\Program Files\Google\google_appengine\lib\webobC:\Program Files\Google\google_appengine\lib\yaml\libUPDATE 2:
I took a look at C:\Program Files\Google\google_appengine\google\appengine\api\memcache\__init__.py and found get() is not declared as memcache module function. They use the following trick to do that (I didn't hear about such possibility):
_CLIENT = None
def setup_client(client_obj):
  """Sets the Client object instance to use for all module-level methods.
  Use this method if you want to have customer persistent_id() or
  persistent_load() functions associated with your client.
  Args:
    client_obj: Instance of the memcache.Client object.
  """
  global _CLIENT
  var_dict = globals()
  _CLIENT = client_obj
  var_dict['set_servers'] = _CLIENT.set_servers
  var_dict['disconnect_all'] = _CLIENT.disconnect_all
  var_dict['forget_dead_hosts'] = _CLIENT.forget_dead_hosts
  var_dict['debuglog'] = _CLIENT.debuglog
  var_dict['get'] = _CLIENT.get
  var_dict['get_multi'] = _CLIENT.get_multi
  var_dict['set'] = _CLIENT.set
  var_dict['set_multi'] = _CLIENT.set_multi
  var_dict['add'] = _CLIENT.add
  var_dict['add_multi'] = _CLIENT.add_multi
  var_dict['replace'] = _CLIENT.replace
  var_dict['replace_multi'] = _CLIENT.replace_multi
  var_dict['delete'] = _CLIENT.delete
  var_dict['delete_multi'] = _CLIENT.delete_multi
  var_dict['incr'] = _CLIENT.incr
  var_dict['decr'] = _CLIENT.decr
  var_dict['flush_all'] = _CLIENT.flush_all
  var_dict['get_stats'] = _CLIENT.get_stats
setup_client(Client())
Hmm... Any idea how to force PyDev to recognize that?
There is a cleaner solution: Try adding GAE's memcache to your forced builtins.
In your PyDev->Interpreter-Python->ForcedBuiltins window, add the "google.appengine.api.memcache" entry and apply.
Double-click on the memcache errors to check them back, they disappear!
Please make sure that system pythonpath includes google APE install directory.
I'm a bit late to the party, but you can add the following comment in all of your files that use memcache to selectively switch off pydev analysis:
#@PydevCodeAnalysisIgnore
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With