2020年4月27日 星期一

org mode 中執行 anaconda python 的設定(三)--ipython via ob-ipython(需裝 jupyter)

上篇文章的作法需指定檔名,感覺有點冗。這回我們試著用 melpa 的套件 ob-ipython 來解決

假設我們用的是 anaconda 下的 py35 環境,在此環境下安裝 jupyter,然後在 emacs 的設定:

(setq python-shell-interpreter "/Anaconda3/envs/py35/python.exe")
(org-babel-do-load-languages
 'org-babel-load-languages
 '((python . t) (ipython . t) ))

windows 平台需針對 windows 修改,參 https://github.com/jawatech/ob-ipython/blob/master/ob-ipython.el

或者直接在設定檔中改寫:

(defun ob-ipython--get-python ()
(let ((buf ( or python-shell-interpreter "python")))
(locate-file buf exec-path)))

缺點的話如同 John Kitchin 所言,只能顯示一個圖,且無法顯示其它文字。JK 在該文提出了一些改良,但是後來融合到 scimax 而集其大成。這個小改我就跳過了,直上 scimax 真的是一個爽,有空再來寫一篇心得分享。


2020年4月1日 星期三

org mode 中執行 anaconda python 的設定(二)

依之前所寫的文章 org mode 中執行 anaconda python 的設定 完成設定後,在 org mode 中可以執行程式片段,至於顯示圖片的寫法可參考 https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-python.html

有幾個地方要注意

  1. 不再使用 :session 參考
  2. :results 設定傳回 file ,實際上是一個連結
  3. 需將圖片儲存為一個可顯示的檔案
  4. 需以 return 關鍵字回傳檔名