emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] babel python example not reproducible


From: Eric Schulte
Subject: Re: [O] babel python example not reproducible
Date: Thu, 19 Jun 2014 09:40:34 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

Andreas Röhler <address@hidden> writes:

> On 18.06.2014 15:59, Eric Schulte wrote:
>> Shiyuan <address@hidden> writes:
>>
>>> Hi all,
>>>        I found a solution to fix the echo problem of the emacs python shell:
>>> http://stackoverflow.com/questions/8060609/python-interpreter-in-emacs-repeats-lines
>>>
>>> That is, in the Interior Python buffer, do
>>> M-: (setq comint-process-echoes t) ;; or nil
>>>
>>> Now, if I enter command directly in the interior python buffer, the command
>>> is not echoed and this is what I want.
>>>
>>> However, When I evaluate the python src code block in org-mode(by `C-c
>>> C-c`), the problem persists. I notice every time I evaluate the block, I
>>> see 'org_babel_python_eoe' in the interior python buffer.
>>>
>>> I  stumbled on a very strange emacs behavior. When I fiddled around, at
>>> some point, I produced the correct answer as the manual. I thought I got
>>> the right setup, but when I saved everything and restarted emacs, problem
>>> persists. Will it be a sign of anything wrong?
>>>
>>> What's even stranger is that: the evaluation for the first time gives
>>> different results from the evaluation for the second time,  on exactly the
>>> same src_block:
>>>
>>> This is what I got when I evaluation the code block for the first time:
>>> -------------------------------------
>>> #+BEGIN_SRC python :results output :session foo
>>> x=100
>>> print "hello"
>>> 2
>>> print "bye"
>>> #+END_SRC
>>>
>>> #+RESULTS:
>>> #+begin_example
>>>
>>> x=100
>>>>>> print "hello"
>>>>>> hello
>>> 2
>>> 2
>>> print "bye"
>>> bye
>>>
>>>
>>> #+end_example
>>> -----------------------------------------------
>>> -------------------------------------------------------
>>>
>>> The following is what I got when I evaluate the same block again:
>>> #+BEGIN_SRC python :results output :session foo
>>> x=100
>>> print "hello"
>>> 2
>>> print "bye"
>>> #+END_SRC
>>>
>>> #+RESULTS:
>>> : x=100
>>> : print "hello"
>>> : hello
>>> : 2
>>> : 2
>>> : print "bye"
>>> : bye
>>> :
>>> :
>>>
>>> Notice that the prompt symbol ">>>" is in the result for the first
>>> evaluation but not in the second evaluation.
>>
>> This issue has been raised before, it is a quirk of how the python
>> session starts up.  I think we've done what we can to handle this on the
>> Org-mode side, I'd ask for a fix on the python.el maintainers.
>
>
> The prompts appear as respond from Python-process when setup-code is sent at 
> the beginning.
> org-babel already knows how to fetch only the results from last prompt.
> Probably separating a first run-python/py-shell from execute-process would do 
> it.
>

I don't follow the above with sufficient clarity to implement your
suggestion.  Could you provide a patch to the
`org-babel-python-initiate-session-by-key' function?

Thanks,
Eric

>
> Best,
>
> Andreas

-- 
Eric Schulte
https://cs.unm.edu/~eschulte
PGP: 0x614CA05D (see https://u.fsf.org/yw)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]