[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Async Python src block behavior with :dir header property
From: |
Nasser Alkmim |
Subject: |
Async Python src block behavior with :dir header property |
Date: |
Wed, 31 Jan 2024 08:29:23 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Hi,
I'm in the latest Emacs GUI.
This works, the =return figname= apparently can recognizee that we are in the
=:dir=.
#+begin_src python :dir asyncpy :return figname :results file value
import matplotlib.pyplot as plt
plt.figure(figsize=(4*.5, 3*.5))
plt.plot([1, 2])
figname = 'fig.svg'
plt.savefig(figname, transparent=True, bbox_inches='tight')
#+end_src
This does not work.
Even though the python execution is in the right directory and the file is
saved correctly.
The =return= does not produces the right file path considering the directory.
#+begin_src python :dir asyncpy :async :session :return figname :results file
value
import matplotlib.pyplot as plt
plt.figure(figsize=(4*.5, 3*.5))
plt.plot([1, 2])
figname = 'fig.svg'
plt.savefig(figname, transparent=True, bbox_inches='tight')
#+end_src
If we inform the right path to the return statement, it works.
#+begin_src python :dir asyncpy :async :session :epilogue
figdir='asyncpy/'+figname :return figdir :results file value
import matplotlib.pyplot as plt
plt.figure(figsize=(4*.5, 3*.5))
plt.plot([1, 2])
figname = 'fig.svg'
plt.savefig(figname, transparent=True, bbox_inches='tight')
#+end_src
Another alternative, we can use the =os= package to get the current directory.
#+header: :epilogue import os;figdir=os.getcwd()+'/'+figname
#+begin_src python :dir asyncpy :async :session :return figdir :results file
value
import matplotlib.pyplot as plt
plt.figure(figsize=(4*.5, 3*.5))
plt.plot([1, 2])
figname = 'fig.svg'
plt.savefig(figname, transparent=True, bbox_inches='tight')
#+end_src
Is this behavior as expected?
Is there a better way to have the figures from the python block with async
execution?
--
Nasser Alkmim
+43 677 6408 9171
- Async Python src block behavior with :dir header property,
Nasser Alkmim <=