Ok. The traceback at the end of my last message also seems to occur with Python 2.5 now. This issue seems to have cropped up in one of the most recent commits, since I didn&#39;t notice it yesterday.<br><br>~doug<br><br>python setup.py install --prefix=$HOME/local<br>
============================================================================<br>BUILDING IPYTHON<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; python: 2.5.2 (r252:60911, Jun 10 2008, 15:09:04)&nbsp; [GCC<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.1.2 (Gentoo 4.1.2 p1.0.1)]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; platform: linux2<br><br>OPTIONAL DEPENDENCIES<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Zope.Interface: yes<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Twisted: 2.5.0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Foolscap: 0.2.8<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OpenSSL: 0.7<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sphinx: 0.3<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pygments: 0.10<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nose: 0.9.3<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pexpect: 2.1<br>running install<br>running build<br>running build_py<br>running build_scripts<br>running install_lib<br>copying build/lib/IPython/Extensions/ipy_completers.py -&gt; /home/djones/local/lib64/python2.5/site-packages/IPython/Extensions<br>
copying build/lib/IPython/Release.py -&gt; /home/djones/local/lib64/python2.5/site-packages/IPython<br>copying build/lib/IPython/config/api.py -&gt; /home/djones/local/lib64/python2.5/site-packages/IPython/config<br>copying build/lib/IPython/config/tests/sample_config.py -&gt; /home/djones/local/lib64/python2.5/site-packages/IPython/config/tests<br>
copying build/lib/IPython/config/tests/test_config.py -&gt; /home/djones/local/lib64/python2.5/site-packages/IPython/config/tests<br>copying build/lib/IPython/config/tests/__init__.py -&gt; /home/djones/local/lib64/python2.5/site-packages/IPython/config/tests<br>
copying build/lib/IPython/config/config.py -&gt; /home/djones/local/lib64/python2.5/site-packages/IPython/config<br>copying build/lib/IPython/config/traitlets.py -&gt; /home/djones/local/lib64/python2.5/site-packages/IPython/config<br>
copying build/lib/IPython/UserConfig/__init__.py -&gt; /home/djones/local/lib64/python2.5/site-packages/IPython/UserConfig<br>copying build/lib/IPython/UserConfig/__init__.pyc -&gt; /home/djones/local/lib64/python2.5/site-packages/IPython/UserConfig<br>
copying build/lib/IPython/UserConfig/ipy_user_conf.pyc -&gt; /home/djones/local/lib64/python2.5/site-packages/IPython/UserConfig<br>byte-compiling /home/djones/local/lib64/python2.5/site-packages/IPython/Extensions/ipy_completers.py to ipy_completers.pyc<br>
byte-compiling /home/djones/local/lib64/python2.5/site-packages/IPython/Release.py to Release.pyc<br>byte-compiling /home/djones/local/lib64/python2.5/site-packages/IPython/config/api.py to api.pyc<br>byte-compiling /home/djones/local/lib64/python2.5/site-packages/IPython/config/tests/sample_config.py to sample_config.pyc<br>
byte-compiling /home/djones/local/lib64/python2.5/site-packages/IPython/config/tests/test_config.py to test_config.pyc<br>byte-compiling /home/djones/local/lib64/python2.5/site-packages/IPython/config/tests/__init__.py to __init__.pyc<br>
byte-compiling /home/djones/local/lib64/python2.5/site-packages/IPython/config/config.py to config.pyc<br>byte-compiling /home/djones/local/lib64/python2.5/site-packages/IPython/config/traitlets.py to traitlets.pyc<br>running install_scripts<br>
copying build/scripts-2.5/ipengine -&gt; /home/djones/local/bin<br>copying build/scripts-2.5/irunner -&gt; /home/djones/local/bin<br>copying build/scripts-2.5/pycolor -&gt; /home/djones/local/bin<br>copying build/scripts-2.5/ipcluster -&gt; /home/djones/local/bin<br>
copying build/scripts-2.5/ipcontroller -&gt; /home/djones/local/bin<br>copying build/scripts-2.5/ipython -&gt; /home/djones/local/bin<br>changing mode of /home/djones/local/bin/ipengine to 755<br>changing mode of /home/djones/local/bin/irunner to 755<br>
changing mode of /home/djones/local/bin/pycolor to 755<br>changing mode of /home/djones/local/bin/ipcluster to 755<br>changing mode of /home/djones/local/bin/ipcontroller to 755<br>changing mode of /home/djones/local/bin/ipython to 755<br>
running install_data<br>Traceback (most recent call last):<br>&nbsp; File &quot;setup.py&quot;, line 174, in &lt;module&gt;<br>&nbsp;&nbsp;&nbsp; setup(**setup_args)<br>&nbsp; File &quot;/usr/lib64/python2.5/distutils/core.py&quot;, line 151, in setup<br>
&nbsp;&nbsp;&nbsp; dist.run_commands()<br>&nbsp; File &quot;/usr/lib64/python2.5/distutils/dist.py&quot;, line 974, in run_commands<br>&nbsp;&nbsp;&nbsp; self.run_command(cmd)<br>&nbsp; File &quot;/usr/lib64/python2.5/distutils/dist.py&quot;, line 994, in run_command<br>
&nbsp;&nbsp;&nbsp; cmd_obj.run()<br>&nbsp; File &quot;/usr/lib64/python2.5/distutils/command/install.py&quot;, line 510, in run<br>&nbsp;&nbsp;&nbsp; self.run_command(cmd_name)<br>&nbsp; File &quot;/usr/lib64/python2.5/distutils/cmd.py&quot;, line 333, in run_command<br>
&nbsp;&nbsp;&nbsp; self.distribution.run_command(command)<br>&nbsp; File &quot;/usr/lib64/python2.5/distutils/dist.py&quot;, line 994, in run_command<br>&nbsp;&nbsp;&nbsp; cmd_obj.run()<br>&nbsp; File &quot;/home/djones/ipython_src/ipython/setupext/install_data_ext.py&quot;, line 75, in run<br>
&nbsp;&nbsp;&nbsp; (out, _) = self.copy_file(f, dir)<br>&nbsp; File &quot;/usr/lib64/python2.5/distutils/cmd.py&quot;, line 376, in copy_file<br>&nbsp;&nbsp;&nbsp; dry_run=self.dry_run)<br>&nbsp; File &quot;/usr/lib64/python2.5/distutils/file_util.py&quot;, line 117, in copy_file<br>
&nbsp;&nbsp;&nbsp; if not os.path.isfile(src):<br>&nbsp; File &quot;/usr/lib64/python2.5/posixpath.py&quot;, line 208, in isfile<br>&nbsp;&nbsp;&nbsp; st = os.stat(path)<br>TypeError: coercing to Unicode: need string or buffer, list found<br><br><br><div class="gmail_quote">
On Thu, Jun 12, 2008 at 4:05 PM, Brian Granger &lt;<a href="http://ellisonbg.net">ellisonbg.net</a>@<a href="http://gmail.com">gmail.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Doug,<br>
<br>
We haven&#39;t thought about this yet and it is a big issue. &nbsp;I will make<br>
another post about this that we can all use to work out this issue.<br>
<font color="#888888"><br>
Brian<br>
</font><div><div></div><div class="Wj3C7c"><br>
On Thu, Jun 12, 2008 at 1:33 PM, Doug Jones &lt;<a href="mailto:dfj225@gmail.com">dfj225@gmail.com</a>&gt; wrote:<br>
&gt; Hi Brian,<br>
&gt;<br>
&gt; I ran into some more issues installing IPython on a different machine. This<br>
&gt; machine runs Python 2.4 and it seems that some of the IPython code is now<br>
&gt; using the &#39;with&#39; statement, which I don&#39;t think is included in Python 2.4.<br>
&gt; Is 2.4 no longer supported?<br>
&gt;<br>
&gt; The trace from my setup.py install attempt has been copied at the end of the<br>
&gt; message.<br>
&gt;<br>
&gt; Thanks,<br>
&gt; ~Doug<br>
&gt;<br>
&gt; Note: I&#39;d already executed a python setup.py build without error.<br>
&gt;<br>
&gt; &nbsp;python setup.py install --prefix=$HOME/local<br>
&gt; ============================================================================<br>
&gt; BUILDING IPYTHON<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; python: 2.4.4 (#1, Jul 29 2007, 19:42:10) &nbsp;[GCC 4.1.1<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (Gentoo 4.1.1-r3)]<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; platform: linux2<br>
&gt;<br>
&gt; OPTIONAL DEPENDENCIES<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; Zope.Interface: yes<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Twisted: 2.5.0<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Foolscap: 0.2.8<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;OpenSSL: 0.6<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sphinx: 0.3<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pygments: 0.10<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nose: 0.10.3<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;pexpect: 0.999<br>
&gt; running install<br>
&gt; running build<br>
&gt; running build_py<br>
&gt; running build_scripts<br>
&gt; running install_lib<br>
&gt; byte-compiling<br>
&gt; /home/djones/local/lib/python2.4/site-packages/IPython/config/config.py to<br>
&gt; config.pyc<br>
&gt; &nbsp; File<br>
&gt; &quot;/home/djones/local/lib/python2.4/site-packages/IPython/config/config.py&quot;,<br>
&gt; line 49<br>
&gt; &nbsp; &nbsp; with raw(self):<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^<br>
&gt; SyntaxError: invalid syntax<br>
&gt; byte-compiling<br>
&gt; /home/djones/local/lib/python2.4/site-packages/IPython/kernel/contexts.py to<br>
&gt; contexts.pyc<br>
&gt; &nbsp; File<br>
&gt; &quot;/home/djones/local/lib/python2.4/site-packages/IPython/kernel/contexts.py&quot;,<br>
&gt; line 171<br>
&gt; &nbsp; &nbsp; with parallel as pr:<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^<br>
&gt; SyntaxError: invalid syntax<br>
&gt; running install_scripts<br>
&gt; changing mode of /home/djones/local/bin/pycolor to 755<br>
&gt; changing mode of /home/djones/local/bin/ipengine to 755<br>
&gt; changing mode of /home/djones/local/bin/ipcontroller to 755<br>
&gt; changing mode of /home/djones/local/bin/ipcluster to 755<br>
&gt; changing mode of /home/djones/local/bin/ipython to 755<br>
&gt; changing mode of /home/djones/local/bin/irunner to 755<br>
&gt; running install_data<br>
&gt; Traceback (most recent call last):<br>
&gt; &nbsp; File &quot;setup.py&quot;, line 174, in ?<br>
&gt; &nbsp; &nbsp; setup(**setup_args)<br>
&gt; &nbsp; File &quot;/usr/lib/python2.4/distutils/core.py&quot;, line 149, in setup<br>
&gt; &nbsp; &nbsp; dist.run_commands()<br>
&gt; &nbsp; File &quot;/usr/lib/python2.4/distutils/dist.py&quot;, line 946, in run_commands<br>
&gt; &nbsp; &nbsp; self.run_command(cmd)<br>
&gt; &nbsp; File &quot;/usr/lib/python2.4/distutils/dist.py&quot;, line 966, in run_command<br>
&gt; &nbsp; &nbsp; cmd_obj.run()<br>
&gt; &nbsp; File &quot;/usr/lib/python2.4/distutils/command/install.py&quot;, line 510, in run<br>
&gt; &nbsp; &nbsp; self.run_command(cmd_name)<br>
&gt; &nbsp; File &quot;/usr/lib/python2.4/distutils/cmd.py&quot;, line 333, in run_command<br>
&gt; &nbsp; &nbsp; self.distribution.run_command(command)<br>
&gt; &nbsp; File &quot;/usr/lib/python2.4/distutils/dist.py&quot;, line 966, in run_command<br>
&gt; &nbsp; &nbsp; cmd_obj.run()<br>
&gt; &nbsp; File &quot;/home/djones/ipython_src/ipython/setupext/install_data_ext.py&quot;, line<br>
&gt; 75, in run<br>
&gt; &nbsp; &nbsp; (out, _) = self.copy_file(f, dir)<br>
&gt; &nbsp; File &quot;/usr/lib/python2.4/distutils/cmd.py&quot;, line 376, in copy_file<br>
&gt; &nbsp; &nbsp; dry_run=self.dry_run)<br>
&gt; &nbsp; File &quot;/usr/lib/python2.4/distutils/file_util.py&quot;, line 117, in copy_file<br>
&gt; &nbsp; &nbsp; if not os.path.isfile(src):<br>
&gt; &nbsp; File &quot;/usr/lib/python2.4/posixpath.py&quot;, line 208, in isfile<br>
&gt; &nbsp; &nbsp; st = os.stat(path)<br>
&gt; TypeError: coercing to Unicode: need string or buffer, list found<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Wed, Jun 11, 2008 at 4:49 PM, Brian Granger &lt;<a href="http://ellisonbg.net" target="_blank">ellisonbg.net</a>@<a href="http://gmail.com" target="_blank">gmail.com</a>&gt;<br>
&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; &gt; Connecting with the MultiEngineClient is working now. It seems that it<br>
&gt;&gt; &gt; was<br>
&gt;&gt; &gt; simply from passing the wrong arguments to the constructor that I was<br>
&gt;&gt; &gt; having<br>
&gt;&gt; &gt; problems before.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; All in all, I think the furl files are an improvement and the addition<br>
&gt;&gt; &gt; of<br>
&gt;&gt; &gt; secure connections is certainly appreciated.<br>
&gt;&gt;<br>
&gt;&gt; Thanks for the feedback. &nbsp;We _really_ needed to address the security<br>
&gt;&gt; issue and I think Foolscap and the furls really work well. &nbsp;They give<br>
&gt;&gt; a high level of security, but make it pretty easy to setup.<br>
&gt;&gt;<br>
&gt;&gt; Brian<br>
&gt;&gt;<br>
&gt;&gt; &gt; Thanks,<br>
&gt;&gt; &gt; ~doug<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; On Tue, Jun 10, 2008 at 4:22 PM, Brian Granger &lt;<a href="http://ellisonbg.net" target="_blank">ellisonbg.net</a>@<a href="http://gmail.com" target="_blank">gmail.com</a>&gt;<br>
&gt;&gt; &gt; wrote:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt; Thanks for the information. I thought I had used the configuration<br>
&gt;&gt; &gt;&gt; &gt; creation<br>
&gt;&gt; &gt;&gt; &gt; command to create .furl files in my home directory. Right now, i&#39;m<br>
&gt;&gt; &gt;&gt; &gt; using<br>
&gt;&gt; &gt;&gt; &gt; mpiexec to start the engines, so perhaps this is creating some sort<br>
&gt;&gt; &gt;&gt; &gt; of<br>
&gt;&gt; &gt;&gt; &gt; issue<br>
&gt;&gt; &gt;&gt; &gt; with the shell environment the engines are created in. I&#39;ll double<br>
&gt;&gt; &gt;&gt; &gt; check<br>
&gt;&gt; &gt;&gt; &gt; and<br>
&gt;&gt; &gt;&gt; &gt; let you know if I continue to have problems.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Hmm, if you are editing the ipython config files to set the locations<br>
&gt;&gt; &gt;&gt; of the furl files, that should work. &nbsp;Maybe the only thing you need to<br>
&gt;&gt; &gt;&gt; change is how you are creating the MultiEngineClient.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; It no longer takes the (ip, port) tuple. &nbsp;It now takes the name of the<br>
&gt;&gt; &gt;&gt; furl file, or if empty it will use the location given in the config<br>
&gt;&gt; &gt;&gt; files.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Keep me posted.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Brian<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt; ~doug<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; On Tue, Jun 10, 2008 at 3:55 PM, Brian Granger<br>
&gt;&gt; &gt;&gt; &gt; &lt;<a href="http://ellisonbg.net" target="_blank">ellisonbg.net</a>@<a href="http://gmail.com" target="_blank">gmail.com</a>&gt;<br>
&gt;&gt; &gt;&gt; &gt; wrote:<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; This is not a unicode error, but rather, our API for starting the<br>
&gt;&gt; &gt;&gt; &gt;&gt; client has changed due to the new security stuff. &nbsp;This is the stuff<br>
&gt;&gt; &gt;&gt; &gt;&gt; that I am working on documenting as we speak.<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; Here is a minimal description:<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; 1) When the controller now starts, it creates a set of files (in<br>
&gt;&gt; &gt;&gt; &gt;&gt; your<br>
&gt;&gt; &gt;&gt; &gt;&gt; .ipython directory by default)<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; ipcontroller-tc.furl<br>
&gt;&gt; &gt;&gt; &gt;&gt; ipcontroller-mec.furl<br>
&gt;&gt; &gt;&gt; &gt;&gt; ipcontroller-engine.furl<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; 2) &nbsp;These files contain a secure URL that 1) tells the engine and<br>
&gt;&gt; &gt;&gt; &gt;&gt; clients where the controller is running and 2) gives the engine and<br>
&gt;&gt; &gt;&gt; &gt;&gt; clients authority to connect to the controller in a secure manner.<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; 3) To use these files, they have to be available to the client and<br>
&gt;&gt; &gt;&gt; &gt;&gt; engines when they start. &nbsp;The easiest way of handling this is to<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; a) copy ipcontroller-engine.furl to the .ipython directory on the<br>
&gt;&gt; &gt;&gt; &gt;&gt; machine(s) where the engines will run<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; b) copy ipcontroller-tc and -mec to the .ipython dir of the machine<br>
&gt;&gt; &gt;&gt; &gt;&gt; where the clients will run.<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; Then everything will &quot;just work&quot;. &nbsp;By this, I mean that you can<br>
&gt;&gt; &gt;&gt; &gt;&gt; create<br>
&gt;&gt; &gt;&gt; &gt;&gt; the clients with no arguments:<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; mec = client.MultiEngineClient()<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; If you have put the .furl files in different locations you can do:<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; mec =<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; client.MultiEngineClient(&#39;/Users/me/furlfiles/ipcontroller-mec.furl&#39;)<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; In all of this, you can think of the furl files as being keys (just<br>
&gt;&gt; &gt;&gt; &gt;&gt; like a house key) that grants an entity access to a particular<br>
&gt;&gt; &gt;&gt; &gt;&gt; resource. &nbsp;The controller creates the keys and the engines/client<br>
&gt;&gt; &gt;&gt; &gt;&gt; must<br>
&gt;&gt; &gt;&gt; &gt;&gt; present/use them to use the capabilities of the controller.<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; See if you can use this to get things working. &nbsp;The big benefit of<br>
&gt;&gt; &gt;&gt; &gt;&gt; using all this is:<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; 1) Users don&#39;t have to track what ip/port the controller is running<br>
&gt;&gt; &gt;&gt; &gt;&gt; on.<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; 2) Everything is secure by default - authentication + encryption (if<br>
&gt;&gt; &gt;&gt; &gt;&gt; you have pyOpenSSL installed<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; 3) The controller now uses random port numbers, making it even more<br>
&gt;&gt; &gt;&gt; &gt;&gt; difficult for hostiles to discover.<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; Let me know if you have any more problems getting this working. &nbsp;We<br>
&gt;&gt; &gt;&gt; &gt;&gt; would love feedback if you have ideas of how things could be made<br>
&gt;&gt; &gt;&gt; &gt;&gt; easier.<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; Also, check out the new command line flags on the ipcontroller and<br>
&gt;&gt; &gt;&gt; &gt;&gt; ipengine scripts to control where the furl files are created and<br>
&gt;&gt; &gt;&gt; &gt;&gt; looked for.<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; Cheers,<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; Brian<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; On Tue, Jun 10, 2008 at 12:57 PM, Doug Jones &lt;<a href="mailto:dfj225@gmail.com">dfj225@gmail.com</a>&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; wrote:<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Hi all,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; I tried a simple test of the latest IPython branch and the<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; MultiEngineClient. When I attempted to connect to a running<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; cluster<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; on<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; my<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; local machine, I got the following error:<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; &nbsp;mec = client.MultiEngineClient((&#39;localhost&#39;, 10105))<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; ---------------------------------------------------------------------------<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; TypeError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Traceback (most recent<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; call<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; last)<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; /home/djones/svn/basin_remote/trunk/scripts/&lt;ipython console&gt; in<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; &lt;module&gt;()<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; /home/djones/local/lib64/python2.5/site-packages/IPython/kernel/client.pyc<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; in get_multiengine_client(furl_or_file)<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; &nbsp; &nbsp; &nbsp;67 &nbsp; &nbsp; &quot;&quot;&quot;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; &nbsp; &nbsp; &nbsp;68 &nbsp; &nbsp; client =<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; blockingCallFromThread(_client_tub.get_multiengine_client,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; ---&gt; 69 &nbsp; &nbsp; &nbsp; &nbsp; furl_or_file)<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; &nbsp; &nbsp; &nbsp;70 &nbsp; &nbsp; return client.adapt_to_blocking_client()<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; &nbsp; &nbsp; &nbsp;71<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; /home/djones/local/lib64/python2.5/site-packages/IPython/kernel/twistedutil.pyc<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; in blockingCallFromThread(f, *a, **kw)<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; &nbsp; &nbsp; &nbsp;97 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; result.raiseException()<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; &nbsp; &nbsp; &nbsp;98 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; except Exception, e:<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; ---&gt; 99 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; raise e<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; &nbsp; &nbsp; 100 &nbsp; &nbsp; &nbsp; &nbsp; return result<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; &nbsp; &nbsp; 101<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; TypeError: coercing to Unicode: need string or buffer, tuple found<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Thanks,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; ~Doug<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; _______________________________________________<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; IPython-dev mailing list<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; <a href="mailto:IPython-dev@scipy.org">IPython-dev@scipy.org</a><br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; <a href="http://lists.ipython.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://lists.ipython.scipy.org/mailman/listinfo/ipython-dev</a><br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;<br>
&gt;<br>
</div></div></blockquote></div><br>