<br><br><div class="gmail_quote">On Thu, Oct 6, 2011 at 23:09, Albert Chin <span dir="ltr">&lt;<a href="mailto:ipython-dev@mlists.thewrittenword.com">ipython-dev@mlists.thewrittenword.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im">On Thu, Oct 06, 2011 at 10:30:33PM -0700, MinRK wrote:<br>
&gt;    On Thu, Oct 6, 2011 at 22:17, Albert Chin<br>
&gt;    &lt;<a href="mailto:ipython-dev@mlists.thewrittenword.com">ipython-dev@mlists.thewrittenword.com</a>&gt; wrote:<br>
&gt;<br>
&gt;      I built ipython-0.11 on RHEL5/x86. Executing &quot;ipython&quot; works.<br>
&gt;      Executing &quot;ipython qtconsole&quot; exhibits the following failure. Any idea<br>
&gt;      on how to resolve it? I&#39;m using nose-1.0.0, pygments-1.4,<br>
&gt;      sphinx-1.0.8, zeromq-2.1.9, pyzmq-2.1.9, qt-4.4.3, sip-4.9.3, and<br>
&gt;      PyQt-4.6.2.<br>
&gt;<br>
&gt;    I believe the qtconsole requires PyQt-4.7 (released 01/2010). This is<br>
&gt;    enforced in trunk, but not 0.11, resulting in opaque errors like this on<br>
&gt;    old PyQt or PySide.<br>
<br>
</div>I just upgraded from sip-4.9.3 to sip-4.12.4 and from PyQt-4.6.2 to<br>
PyQt-4.8.5 and get the same error.<br></blockquote><div><br></div><div>Did you upgrade Qt itself?  Maybe we depend on a relatively recent Qt as well.</div><div><br></div><div>-MinRK</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


<br>
&gt;    -MinRK<br>
&gt;    A<br>
<div class="im">&gt;<br>
&gt;      $ ipython qtconsole<br>
&gt;      [IPKernelApp] To connect another client to this kernel, use:<br>
&gt;      [IPKernelApp] --existing --shell=51973 --iopub=51966 --stdin=56682<br>
&gt;      --hb=36345<br>
&gt;      ---------------------------------------------------------------------------<br>
</div>&gt;      AttributeError A  A  A  A  Python 2.6.6:<br>
&gt;      /usr/packages/python26/bin/python<br>
&gt;      A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A<br>
&gt;      A  Fri Oct A 7 05:06:53 2011<br>
&gt;      A problem occured executing Python code. A Here is the sequence of<br>
<div class="im">&gt;      function<br>
&gt;      calls leading up to the error, with the most recent (innermost) call<br>
&gt;      last.<br>
&gt;      /usr/packages/ipython011/lib/IPython/frontend/qt/console/frontend_widget.pyc<br>
&gt;      in<br>
&gt;      _document_contents_change(self=&lt;IPython.frontend.qt.console.rich_ipython_widget.RichIPythonWidget<br>
&gt;      object&gt;, position=0, removed=1, added=0)<br>
</div>&gt;      A  A 602 A  A  A  A  &quot;&quot;&quot; Shows a prompt for the interpreter given an<br>
&gt;      &#39;execute_reply&#39; message.<br>
&gt;      A  A 603 A  A  A  A  &quot;&quot;&quot;<br>
&gt;      A  A 604 A  A  A  A  self._show_interpreter_prompt()<br>
&gt;      A  A 605<br>
&gt;      A  A 606 A  A  #------ Signal handlers<br>
&gt;      ----------------------------------------------------<br>
&gt;      A  A 607<br>
&gt;      A  A 608 A  A  def _document_contents_change(self, position, removed,<br>
&gt;      added):<br>
&gt;      A  A 609 A  A  A  A  &quot;&quot;&quot; Called whenever the document&#39;s content changes.<br>
&gt;      Display a call tip<br>
&gt;      A  A 610 A  A  A  A  A  A  if appropriate.<br>
&gt;      A  A 611 A  A  A  A  &quot;&quot;&quot;<br>
&gt;      A  A 612 A  A  A  A  # Calculate where the cursor should be *after* the<br>
&gt;      change:<br>
&gt;      A  A 613 A  A  A  A  position += added<br>
&gt;      A  A 614<br>
&gt;      A  A 615 A  A  A  A  document = self._control.document()<br>
&gt;      A  A 616 A  A  A  A  if position == self._get_cursor().position():<br>
&gt;      --&gt; 617 A  A  A  A  A  A  self._call_tip()<br>
<div class="im">&gt;<br>
&gt;      /usr/packages/ipython011/lib/IPython/frontend/qt/console/frontend_widget.pyc<br>
&gt;      in<br>
&gt;      _call_tip(self=&lt;IPython.frontend.qt.console.rich_ipython_widget.RichIPythonWidget<br>
&gt;      object&gt;)<br>
</div>&gt;      A  A 498<br>
&gt;      A  A 499 A  A  A  A  else:<br>
&gt;      A  A 500 A  A  A  A  A  A  self._append_plain_text(&#39;Kernel process is<br>
&gt;      either remote or &#39;<br>
&gt;      A  A 501 A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A<br>
<div class="im">&gt;      &#39;unspecified. Cannot restart.\n&#39;)<br>
</div>&gt;      A  A 502<br>
&gt;      A  A 503 A  A<br>
&gt;      #---------------------------------------------------------------------------<br>
&gt;      A  A 504 A  A  # &#39;FrontendWidget&#39; protected interface<br>
&gt;      A  A 505 A  A<br>
&gt;      #---------------------------------------------------------------------------<br>
&gt;      A  A 506<br>
&gt;      A  A 507 A  A  def _call_tip(self):<br>
&gt;      A  A 508 A  A  A  A  &quot;&quot;&quot; Shows a call tip, if appropriate, at the<br>
&gt;      current cursor location.<br>
&gt;      A  A 509 A  A  A  A  &quot;&quot;&quot;<br>
&gt;      A  A 510 A  A  A  A  # Decide if it makes sense to show a call tip<br>
&gt;      A  A 511 A  A  A  A  cursor = self._get_cursor()<br>
&gt;      A  A 512 A  A  A  A  cursor.movePosition(QtGui.QTextCursor.Left)<br>
&gt;      --&gt; 513 A  A  A  A  if cursor.document().characterAt(cursor.position())<br>
&gt;      != &#39;(&#39;:<br>
&gt;      A  A 514 A  A  A  A  A  A  return False<br>
&gt;      A  A 515 A  A  A  A  context = self._get_context(cursor)<br>
&gt;      A  A 516 A  A  A  A  if not context:<br>
&gt;      A  A 517 A  A  A  A  A  A  return False<br>
&gt;      A  A 518<br>
&gt;      A  A 519 A  A  A  A  # Send the metadata request to the kernel<br>
&gt;      A  A 520 A  A  A  A  name = &#39;.&#39;.join(context)<br>
&gt;      A  A 521 A  A  A  A  msg_id =<br>
&gt;      self.kernel_manager.shell_channel.object_info(name)<br>
&gt;      A  A 522 A  A  A  A  pos = self._get_cursor().position()<br>
&gt;      A  A 523 A  A  A  A  self._request_info[&#39;call_tip&#39;] =<br>
&gt;      self._CallTipRequest(msg_id, pos)<br>
&gt;      A  A 524 A  A  A  A  return True<br>
&gt;      A  A 525<br>
&gt;      A  A 526 A  A  def _complete(self):<br>
&gt;      A  A 527 A  A  A  A  &quot;&quot;&quot; Performs completion at the current cursor<br>
&gt;      location.<br>
&gt;      A  A 528 A  A  A  A  &quot;&quot;&quot;<br>
<div><div></div><div class="h5">&gt;<br>
&gt;      AttributeError: &#39;QTextCursor&#39; object has no attribute &#39;document&#39;<br>
&gt;      --<br>
&gt;      albert chin (<a href="mailto:china@thewrittenword.com">china@thewrittenword.com</a>)<br>
&gt;      _______________________________________________<br>
&gt;      IPython-dev mailing list<br>
&gt;      <a href="mailto:IPython-dev@scipy.org">IPython-dev@scipy.org</a><br>
&gt;      <a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
<br>
&gt; _______________________________________________<br>
&gt; IPython-dev mailing list<br>
&gt; <a href="mailto:IPython-dev@scipy.org">IPython-dev@scipy.org</a><br>
&gt; <a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
<br>
--<br>
albert chin (<a href="mailto:china@thewrittenword.com">china@thewrittenword.com</a>)<br>
_______________________________________________<br>
IPython-dev mailing list<br>
<a href="mailto:IPython-dev@scipy.org">IPython-dev@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
</div></div></blockquote></div><br>