前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在 Emacs 中执行 Pyhton

在 Emacs 中执行 Pyhton

作者头像
zucchiniy
发布2019-10-30 21:26:28
1.3K0
发布2019-10-30 21:26:28
举报
文章被收录于专栏:洞明学问

最近在整理 Python 的相关的内容,主要需要整理成笔记,记录下来,等有需要的时候再进行复习。

在编写 org 的时候,发现 Python 的内容并不能很好的执行,而且生成的图片也不能正常显示,所以查询了一下资料,发现如果是 python 的话,需要按下面的形势处理:

代码语言:javascript
复制
#+BEGIN_SRC python :results file :preamble "# -*- coding: utf-8 -*-" :python python3 :exports both

其中 :results 针对不同的执行结果进行调整,如果是想把 Python 生成的图片显示在 org 文档里的话,就要选择 file ,如果是想显示执行的结果的话,就使用 output 。

:preamble 的话,是针对 Python 的码制了,现在如果有中文的话,可能需要指定为 utf-8 所以默认需要加上这个内容。

:python 是用来指定解释器的,在 Mac 环境下,执行的时候,总是提示找不到 pandas 但是如果直接使用 python test.py 的话是能正常显示结果,可能是因为默认查找的 python2 吧,这里进行指定到 python3 上就可以使用了。

:exports 是指定输出的情况的,code 是指显示代码,results 是指的仅显示结果,both 是两个都显示,none 则是指的都不显示。

:session 是特殊情况,有些时候需要调用方法中的 return 使用 session 的话能直接使用,可以不必再单独返回了。

:var 可以指定传入的参数

使用示例如下:

代码语言:javascript
复制
#+tblname: data_table
| a | 1 |
| b | 2 |
| c | 3 |
#+begin_src python :var val=1 :var data=data_table
return(data[val])
#+end_src

#+RESULTS:
| b | 2 |

#+begin_src python :results file
import matplotlib, numpy
matplotlib.use('Agg')
import matplotlib.pyplot as plt
fig=plt.figure(figsize=(4,2))
x=numpy.linspace(-5,5)
plt.plot(numpy.sin(x)/x)
fig.tight_layout()
plt.savefig('./images/python-matplot-fig.png')
return './images/python-matplot-fig.png' # return filename to org-mode
#+end_src

#+RESULTS:
[[file:./images/python-matplot-fig.png]]

将这个内容增加到 snippet 中去,在 snippet/org-mode/ 路径下增加 python 文件,其中内容如下

代码语言:javascript
复制
# -*- mode: snippet -*-
# name: python
# key: <pyt_
# --
#+begin_src python :results ${1:file} :preamble "# -*- coding: utf-8 -*-" :python python3 :exports ${2:both}
$0
#+end_src
[[file:${3:path}]]

之后,在 org 文档中,输入 <pyt_ 输入 tab 键就可以自动补全成可用内容了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档