Forums/Solutions

cloud fails if 'readline' is imported

fetchinson
posted this on Feb 19 09:18

I use the environment variable PYTHONSTARTUP to point to a startup file with the content

import rlcompleter
import readline
readline.parse_and_bind("Ctrl-n: complete")

so that whenever I start python I have autocompletion. This is pretty handy, I guess many people do the same thing.

Now cloud doesn't like readline and if I call cloud.call it fails:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "cloud/cloud.py", line 347, in call
    jid = self.adapter.job_call(parameters,func,args,kwargs)
  File "cloud/transport/adapter.py", line 305, in job_call
    sfunc, sargs, logprefix, logcnt =  self._cloudSerialize(func, [args], ['args'], 'call.')
  File "cloud/transport/adapter.py", line 415, in _cloudSerialize
    self._checkForcedMods()      
  File "cloud/transport/adapter.py", line 405, in _checkForcedMods
    recurse(main,tuple())                
  File "cloud/transport/adapter.py", line 397, in recurse
    self.dependencyManager.inject_module(themod)  
  File "cloud/transport/codedependency.py", line 201, in inject_module
    self.load_module(mname, fp, pathname, stuff)
  File "cloud/transport/codedependency.py", line 402, in load_module
    raise ImportError(fqname)
ImportError: readline

Disabling autocompletion (i.e. not setting PYTHONSTARTUP) solves the problem and cloud runs happily.

By the way, picloud is great, congratulation to the entire team!

 

Comments

User photo
Aaron Staley
PiCloud, Inc.

Hi fetchinson,

Thanks for your report and sorry for the late response.  The issue was caused by just having the readline module imported.  We have fixed this issue server-side and all should work well for you.

 

-Aaron

Feb-25 2010 19:12.
User photo
fetchinson

Thanks, now it works indeed even when readline is imported.

Feb-26 2010 03:11.