From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Kitchin Subject: Re: Mixing Python2 and Python3 blocks in one file Date: Tue, 17 May 2016 11:37:46 -0400 Message-ID: References: <2016-05-08T10-21-00@devnull.Karl-Voit.at> <2016-05-17T16-45-38@devnull.Karl-Voit.at> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:47748) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b2h4C-0006GP-R2 for emacs-orgmode@gnu.org; Tue, 17 May 2016 11:37:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b2h49-0004yX-Fq for emacs-orgmode@gnu.org; Tue, 17 May 2016 11:37:52 -0400 Received: from mail-qk0-x22c.google.com ([2607:f8b0:400d:c09::22c]:35848) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b2h49-0004yK-Bt for emacs-orgmode@gnu.org; Tue, 17 May 2016 11:37:49 -0400 Received: by mail-qk0-x22c.google.com with SMTP id x7so10664420qkd.3 for ; Tue, 17 May 2016 08:37:49 -0700 (PDT) In-reply-to: <2016-05-17T16-45-38@devnull.Karl-Voit.at> 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" To: Karl Voit Cc: emacs-orgmode@gnu.org You can hack this to work: #+BEGIN_SRC emacs-lisp (defun org-babel-execute:python2 (body params) (let ((org-babel-python-command "/Users/jkitchin/Library/Enthought/Canopy_64bit/User/bin/python2")) (org-babel-execute:python body params))) #+END_SRC #+BEGIN_SRC python2 print 'Hello' #+END_SRC #+RESULTS: : Hello One issue though is no font-lock in the source block. I think it uses the language to set the mode. Karl Voit writes: > Hi William > > * William Henney wrote: >> >> On Sun, May 8, 2016 at 3:31 AM, Karl Voit wrote: >> >> Python2 and Python3 are two different languages. Unfortunately, >>> Org-mode only uses ~#+BEGIN_SRC python~ for both and uses >>> python-shell-interpreter to choose/switch the compiler. >>> >>> Shouldn't Org-mode introduce ~#+BEGIN_SRC python2~ and ~#+BEGIN_SRC >>> python3~ to solve this issue in a clean way? >>> >>> ~#+BEGIN_SRC python~ can still default to python2. >>> >> You can use the :python header argument to the source block, which allows >> you to specify the path to the python interpreter: >> >> #+BEGIN_SRC python :python /Users/will/anaconda/envs/py27/bin/python > > Cool, I did not find this parameter yet. > > Is this undocumented? http://orgmode.org/org.html does not contain > the string ":python:" and > http://orgmode.org/org.html#Language_002dspecific-header-arguments > also does not mention this parameter. > >> Also see original discussion at >> https://lists.gnu.org/archive/html/emacs-orgmode/2014-04/msg01042.html > > Most interesting to me, thank you. > > With the parameter above as a workaround, I can accomplish the > things I want to do for now. However, I still do think that Python2 > and Python3 as different languages demand different block > identifiers. > > #+BEGIN_SRC python -> defaults to the default python interpreter > #+BEGIN_SRC python2 -> uses Python2 > #+BEGIN_SRC python3 -> uses Python3 > > Don't you think? -- Professor John Kitchin Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 @johnkitchin http://kitchingroup.cheme.cmu.edu