From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ken Mankoff Subject: Re: [Orgmode] Unable to capture the file name generated using matplotlib Date: Tue, 26 May 2015 10:02:54 -0400 Message-ID: References: <87wq0qsy4o.fsf@alphaville.usersys.redhat.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:47054) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YxFRe-00011e-GR for emacs-orgmode@gnu.org; Tue, 26 May 2015 10:03:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YxFRZ-0000Cx-Jo for emacs-orgmode@gnu.org; Tue, 26 May 2015 10:03:02 -0400 Received: from mail-qk0-x22d.google.com ([2607:f8b0:400d:c09::22d]:34638) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YxFRZ-0000Cs-8Z for emacs-orgmode@gnu.org; Tue, 26 May 2015 10:02:57 -0400 Received: by qkgx75 with SMTP id x75so89391790qkg.1 for ; Tue, 26 May 2015 07:02:56 -0700 (PDT) In-reply-to: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Dror Atariah Cc: Nick Dokos , "emacs-orgmode@gnu.org" On 2015-05-26 at 09:26, Dror Atariah wrote: >> #+BEGIN_SRC python :session with_matplotlib :results file :exports both >> import matplotlib >> matplotlib.use('Agg') >> import matplotlib.pyplot as plt >> fig=plt.figure(figsize=(3,2)) # 4 >> plt.plot([1,3,2]) # 3 >> plt.savefig('myfig.png') # 2 >> 'myfig.png' # 1 >> #+END_SRC >> >> #+RESULTS: >> [[file:myfig.png]] >> > > As I mentioned before, if I evaluate the second block as-is I get the > error. However, if I comment out all the lines except #1 then the code > returns the correct results block. Then, I started to add the numbered > lines. Adding #2 and #3 still doesn't break the behavior. Once adding line > #4 the behavior breaks. Maybe this observation can be helpful? This happens > both when starting Emacs -Q or without -Q. Still no solution but a few comments: 1) What you write here and on SE are not the same. Please cut-and-paste because details matter. For example, the SE code has "import matplotlib.pyplot" and then "plt.figure" but that code crashes because you did not import "as plt" like you do here... 2) It seems to be an echo issue. In my *with_matplotlib* buffer in Emacs, I see: #+BEGIN_EXAMPLE Python 2.7.9 |Anaconda 2.2.0 (x86_64)| (default, Dec 15 2014, 10:37:34) [GCC 4.2.1 (Apple Inc. build 5577)] on darwin Type "help", "copyright", "credits" or "license" for more information. Anaconda is brought to you by Continuum Analytics. Please check out: http://continuum.io/thanks and https://binstar.org >>> import matplotlib >>> matplotlib.use('Agg') >>> import matplotlib.pyplot as plt fig=plt.figure(figsize=(3,2)) plt.plot([1,3,2]) plt.savefig('myfig.png') 'myfig.png' open('/var/folders/bl/trcxdptd1_q4k6q5fdhvp2m00000gn/T/babel-52565cmH/python-525659vF', 'w').write(str(_)) 'org_babel_python_eoe' >>> [] >>> 'myfig.png' >>> 'org_babel_python_eoe' >>> #+END_EXAMPLE Where you see everything printed twice. I notice that in addition, you have > r/folders/kz/1c2cxn1x60n_t5p2j1p02b180000gn/T/py6499_X0''', 'exec')); at the top of your buffer, and I do not. I think the "exec" might be causing everything to echo as it runs, so everything is printed 2x, and that confuses Org, and it is not able to capture your filename. -k.