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: Wed, 18 Jun 2014 09:59:44 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

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.

> Also the result is not embedded in the #+being_example/#+end_example
> for the second evaluation.
>

Yes, short examples are examplized with ":" instead of the heavier
weight example blocks.  The results are functionally equivalent, but you
can customize the size at which different methods are used by changing
the `org-babel-min-lines-for-block-output' variable.

>
> I want to hunt down the problem. Any hints/helps is greatly appreciated.
>

Hope this helps.  Sadly Emacs python support is sub-par and as a
consumer, Org-mode python code blocks suffer.

Best,

>
> Shiyuan
>
>
>
>
> On Mon, Jun 16, 2014 at 9:12 AM, Doyley, Marvin <address@hidden>
> wrote:
>
>> Hi Eric,
>>
>> Thanks for showing me the smart way of doing this.
>>
>> cheers,
>> M
>> --
>>
>>
>>
>>

-- 
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]