Hi Jack,
Thanks for your suggestion to use ob-jupyter. That gives me the stdout and
graphical output in separate results blocks as I wanted, and no return
statement is needed. I don't know if there are any side-effects to using
multiple sessions in a single org file, but so far it seems to work quite
well.

On Mon, Feb 24, 2020 at 11:18 AM Jack Kamm <jackk...@gmail.com> wrote:

> Hi RC,
>
> R C <rec...@gmail.com> writes:
>
> > My python src blocks often have both graphical output as well as the
> > results of some numerical calculation displayed using print statements.
> >
> > When exported I would like the line: return 'img/ex1.png' not to be
> > included in the listing of the src block.
> >
> > Also, the output of the print statement is not displayed in this case.
>
> The external ob-jupyter [0] accomplishes what you want:
>
> 1. It can return multiple types of output, e.g. print statements and plots.
> 2. It doesn't require the "return" statement.
>
> It's main limitations are:
> 1. It requires jupyter.
> 2. It requires using session blocks.
>
> I'd recommend checking it out. It has excellent Python support.
>
> If you prefer a native solution, I think the options are:
>
> 1. noweb (as Eric mentioned). Then you only need to write the code
> once, but note that it will be executed twice.
>
> 2. Using multiple session blocks to return output and value
> separately. Since they use the same state, you would only need to
> execute the code once.
>
> 3. Possibly, you could insert the link to the image separately, create a
> named reference to it, and pass it to the Python block via ":var", which
> would create at an image at that link. Then use ":results output" to
> capture the print statements. I'm not 100% sure if this will work.
>
> [0] https://github.com/dzop/emacs-jupyter
>


-- 
Regards,
RC

Reply via email to