[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Multiple prompts when starting inferior Python
From: |
Rusi |
Subject: |
Re: Multiple prompts when starting inferior Python |
Date: |
Tue, 6 May 2014 20:27:09 -0700 (PDT) |
User-agent: |
G2/1.0 |
On Tuesday, May 6, 2014 9:47:55 PM UTC+5:30, Joost Kremers wrote:
> Hi,
> Whenever I start an interactive Python session in Emacs, I get four
> empty prompts instead of one. That is, when I do `M-x run-python' (or
> start from a Python file with `C-c C-z'), the *Python* buffer looks like
> this:
> ,----
> | Python 2.7.3 (default, Feb 27 2014, 19:58:35)
> | Type "copyright", "credits" or "license" for more information.
> |
> | IPython 0.12.1 -- An enhanced Interactive Python.
> | ? -> Introduction and overview of IPython's features.
> | %quickref -> Quick reference.
> | help -> Python's own help system.
> | object? -> Details about 'object', use 'object??' for extra details.
> |
> | In [1]:
> | In [2]:
> | In [3]:
> | In [4]:
> |
> `----
> I use elpy and IPython, but that doesn't make a difference. This is what
> I get when running an interactive Python shell with `emacs -Q':
> ,----
> | Python 2.7.3 (default, Feb 27 2014, 19:58:35)
> | [GCC 4.6.3] on linux2
> | Type "help", "copyright", "credits" or "license" for more information.
> `----
> Note the four `>>>'.
> This is something that's been happening a while, and it's never really
> bothered me. However, the other day someone on Reddit asked the same
> question,[1] which prompted me to do some digging. I ran `run-python'
> though the debugger and it seems that those prompts are caused by the
> function `python-shell-send-setup-code', which sends the contents of the
> variables listed in the variable `python-shell-setup-codes' to the
> inferior python process when it's started. The default value of this
> option is:
> ,----
> | (python-shell-completion-setup-code python-ffap-setup-code
> python-eldoc-setup-code)
> `----
> Each of these variables contains some code which, when sent to the
> inferior python process, results in a new prompt being displayed, even
> though the actual command is not shown.
> Is this something that should be considered a bug? Can it be avoided
> somehow or should I simply live with it? (Which isn't very difficult, it
> doesn't seem to affect anything.)
> [1]
> http://www.reddit.com/r/emacs/comments/24fy1q/help_get_rid_of_multiple_inputs_when_running_a/
Starting python as this
python -i -c 'import sys; sys.ps1=""'
Makes the >>> disappear.
Then you have to arrange to get it back!