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!

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

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