Skip to content
This repository

[qtconsole] %hist doesn't show anything in qtconsole #617

Closed
reckoner opened this Issue · 21 comments

5 participants

reckoner Thomas Kluyver Fernando Perez Evan Patterson Min RK
reckoner

I have built rc2 on Windows XP and while the qtconsole works fine for the most part, %hist does not show any history in the qtconsole.

Thomas Kluyver
Collaborator

A bare %hist will show history from the start of the session, so be sure you've entered a few commands before trying it.

Does it produce any output after you type %hist? Any error messages? Do you get the next prompt? If you start ipython qtconsole (or whatever the command is in Windows) from a command prompt, do you get any error messages there? Does %hist still work in terminal IPython?

reckoner
Thomas Kluyver
Collaborator
Min RK
Owner
minrk commented
Thomas Kluyver
Collaborator

OK, looking at the code, it looks like it's happening an all cases on Windows where pyreadline is in use. I think the ZMQshell should have readline_use default to False (which will also speed up launching it a bit). Pull request coming up.

Thomas Kluyver
Collaborator

@reckoner: Can you try my i617 branch from here: https://github.com/takluyver/ipython/tree/i617

It may raise further problems, but I've just tested it here, and it doesn't obviously go wrong.

reckoner
Thomas Kluyver
Collaborator
git remote add takluyver git://github.com/takluyver/ipython.git
git fetch takluyver
git checkout i617

That should do it. I install in a virtualenv for testing, but you can run the source however you want, so long as it's definitely importing the correct modules.

reckoner
Thomas Kluyver
Collaborator

OK, great. -g doesn't automatically number the items, although it probably should. I'll tweak that.

Assuming you're working from a clone of the main codebase, git checkout master should take you back to the main branch.

reckoner
Thomas Kluyver
Collaborator

The numbering would already happen if you use %hist -ng pattern (n for numbers). I've updated my i617 branch so that -g implies -n as well. See also Pull request #618.

Fernando Perez
Owner
fperez commented
Thomas Kluyver
Collaborator

@fperez: If you're replying by email, do click through and read the intervening discussion. We've tracked it down to a problem related to pyreadline, and I've got a fix that apparently works (PR #618).

Fernando Perez
Owner
fperez commented

Oops, sorry :) I forgot gh only sends the first email...

Thomas Kluyver takluyver closed this
Thomas Kluyver
Collaborator

Closed by ff5e7cd.

Fernando Perez fperez reopened this
Fernando Perez
Owner
fperez commented

Hi folks, I'm afraid I have to reopen this, because I'm effectively going to revert b641eb6. Unfortunately it caused %run to break in the Qt console with this error:

In [1]: run ~/scratch/error.py
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/home/fperez/ipython/ipython/tools/ in ()
----> 1 get_ipython().magic(u"run ~/scratch/error.py")

/home/fperez/usr/lib/python2.6/site-packages/IPython/core/interactiveshell.py in magic(self, arg_s, next_input)
   1892                 self._magic_locals = sys._getframe(1).f_locals
   1893             with self.builtin_trap:
-> 1894                 result = fn(magic_args)
   1895             # Ensure we're not keeping object references around:
   1896             self._magic_locals = {}

/home/fperez/usr/lib/python2.6/site-packages/IPython/core/magic.pyc in magic_run(self, parameter_s, runner, file_finder)
   1634         try:
   1635             stats = None
-> 1636             with self.readline_no_record:
   1637                 if opts.has_key('p'):
   1638                     stats = self.magic_prun('',0,opts,arg_lst,prog_ns)

AttributeError: 'ZMQInteractiveShell' object has no attribute 'readline_no_record'

but even if I try to make an 'empty' context manager to play the role of readliine_no_record, then syntax highlighting is broken. I simply don't have time right now to go into deep debugging right prior to a release.

This is why, even the most innocent-looking changes, should never be made between an RC and a final release. It was by pure accident that I caught the problem, and since we don't have any way to automatically test the magics from the Qt console, we'd only have seen this after an embarrassing public release.

Fernando Perez fperez closed this issue from a commit
Fernando Perez Revert commit that fixed gh-617 as it broke %run in the Qt console.
Unfortunately b641eb6 caused %run to
stop working in the Qt console, so for now we must disable it (too
close to a release).  See gh-617 for further details, and restore once
the other issues have been addressed.
fe44943
Fernando Perez fperez closed this in fe44943
Thomas Kluyver
Collaborator

Ouch, well spotted. Your commit message seems to have automatically closed it again, so I'll re-reopen it.

Thomas Kluyver takluyver reopened this
Evan Patterson epatters closed this in 14ae4c0
Fernando Perez
Owner

OK, it looks like we finally got this one. If anyone stlll sees problems on win32 please let us know and reopen, but now it looks like we have a good solution.

reckoner
Fernando Perez
Owner

Glad to hear that, thanks for confirming the fix worked indeed.

Fernando Perez fperez referenced this issue from a commit
Commit has since been removed from the repository and is no longer available.
Brian E. Granger ellisonbg referenced this issue from a commit
Commit has since been removed from the repository and is no longer available.
Thomas Kluyver takluyver referenced this issue
Merged

I617 #618

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.