Hi Mike, That does help -- when testing it, I found that the problem had more to do with my header options than to do with the presence or absence of a #+NAME line. But still, with the header options I gave in my original example, org-babel's behavior does seem strange (maybe buggy?) to me. My working code now looks like:
#+begin_src python :exports results :results file :eval no-export import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt fig=plt.figure(figsize=(3,2)) plt.plot([1,3,2]) fig.tight_layout() figname = '/tmp/myfig.jpg' plt.savefig(figname) return(figname) # return this to org-mode #+end_src #+ATTR_LATEX: :float figure :placement [htb!] :width 0.38\textwidth #+RESULTS: Anyhow, something that wasn't clear to me about your example is how you make the filename which is generated via org-babel-temp-file available for use within the code-block? Regards, Mark