Windows下配置Emacs来开发Python去年在网上偶然的一个机会知道了Emacs的存在,在周围前辈们都在夸赞Sublime好用的时候,喜欢跟大众唱反调的我,突然觉得如果能用Emacs来编代码,也许是个很牛的技能。

但是在看了一次Tutorial后,就因为复杂的快捷键和不同于一般编辑器的操作方式放弃了这个想法。

今年开始工作以后,公司还没有给我发配项目,让我有时间学了些Python入门。在寻找合适的编辑器的时候,搁置脑后许久的Emacs突然被揪了出来。

重新开始打开教程,耐着性子看完,并稍微记住了几个快捷键,总算能够磕磕绊绊的使用了。

然后在开始寻找Emacs上使用Python的方法的时候,才发现原来Emacs的插件配置对于新手这么棘手。中文的资料本来就少,而且大多数还是在Linux/Mac系统上的。向我们这样在Windows上使用Emacs的“少数人口”似乎很难入门。

今天在公司,花了一下午时间,各种搜索,各种尝试,各种折腾,总算是让Emacs用上了Python-mode插件。虽然似乎用的最多的和功能更全的是iPython插件,不过今天为止还没有弄明白。以后有机会再更新后续内容吧。今天就把再Window环境下Emacs配置Python-mode插件的方法记录下来。

Emacs的下载安装

下载

Emacs官方地址

http://www.gnu.org/software/emacs/

下载地址:(windows 版本)

http://ftp.gnu.org/gnu/emacs/windows/

下载最新版本的zip包就可以

安装

下载解压后,进入根目录下的bin文件夹,运行addpm.exe安装,安装后在开始菜单中会加入GNU Emacs项。

当然你也可以选择不安装,直接调用emacs.exe 或 runemacs.exe打开Emacs。

入门

运行Emacs后,点击Help菜单下的“Emacs Tutorial”进入Emacs自带的教程文档。(教程文档很高质量,向文档创建\译制者们致敬)还可以点击“Emacs Tutorial(choose language)”来选择不同的语言。

读完教程能帮助初学者快速入门和对Emacs最基本的概念进行理解,并能简单的进行Emacs的日常使用。

Emacs的功能十分强大,更多的应用还需要使用者日后不断地学习。

Python的安装

Python的安装请参考其他资料,为了编辑速度,这里先集中说明Emacs的配置。

Emacs配置使用Python-mode

Emacs配置

在很多有关Emacs配置的资料里,都会提到说“~/.emacs.d/”路径和“~/.emacs”文件,我折腾了很久没找到。后来才发现,“~”所指的HOME路径在window系统里是C:\Users\(username)\AppData\Roaming :

按Windows7系统本身的HOME目录配置的话,C:\Users\(username)\AppData\Roaming 这个HOME目录太深了,而且默认状态下AppData目录是隐藏的,最最关键的是:如果系统盘一旦出问题,之前的.emacs配置文件和.el的扩展都得重新配置和下载。接下来很多资料上会教你怎样更改HOME目录以更方便的使用它。但事实上,初次使用Emacs的用户如果没有经常要更改配置文件的需要的话,使用原本的目录就足够了,如果你的电脑已经设置显示隐藏文件的话,这个目录也不是特别难找。

~/.emacs 文件并不是一开始就存在的。在Emacs的Options菜单里随便设置一项,比如点选 Highlight Matching Parenthesis 然后选择 Save Options, mini缓冲区里就会显示 “Wrote c:/Users/(username)/AppData/Roaming/.emacs”这时进入HOME目录就能看到.emacs文件和.emacs.d目录了。

python-mode

python-mode下载:

https://launchpad.net/python-mode

下载解压,进入Python shell 运行

>python setup.py install

安装。Python shell的进入方式在安装python的资料里都会有,大家自行参考。

然后将解压后的 python-mode.el 文件复制到HOME目录.emacs.d文件夹下。

打开.emacs文件, 添加如下内容:

(require 'python-mode)

(add-to-list 'auto-mode-alist '("\\.py'" . python-mode))

运行Emacs,便会自行配置好python-mode了。

运行

配置好python-mode后,用emacs打开任何.py文件,输入 M-x py-execute-buffer 来运行python代码。

使用快捷键 C-c C-c 也是一样的效果。

使用 python 扩展 emacsPymacs 可以使得emacs能和python程序进行交互,可以让emacs插件开发者尽量使用python进行开发。这里提供一个例子,在lisp中调用python的函数并将当前buffer的文件名传递给python,在emacs中输出python函数的返回值

安装

首先安装 python 包 Pymacs. 在 ubuntu 里面安装 pymacs 即可。

然后安装emacs插件pymacs, el-get-install 或者 package-install 都可以

写一个 python 模块

目录结构如下:

├── sample

│ └── __init__.py

└── setup.py

__init__.py 的内容:

from Pymacs import lisp

interactions = {}

def hello_word(filename):

return 'Hello from python, file name is %s' % filename

interactions[hello_word] = ''

setup.py 的内容:

from setuptools import setup, find_packages

setup(

name = "sample-pymacs",

version = "0.1",

packages = find_packages()

)

安装这个模块

python setup.py install

如果一切正常, 在 python 中可以 import sample

在lisp中调用python 模块

创建一个lisp文件:

(pymacs-load "sample")

(message (sample-hello-word buffer-file-name))

将光标移动到每一行上并使用 C-M-x 来执行该行 lisp 代码, 执行后会在emacs上看到输出。

本文标题: Windows上配置Emacs来开发Python及用Python扩展Emacs

本文地址: http://www.cppcns.com/jiaoben/python/135374.html

emacs python plugin_Windows上配置Emacs来开发Python及用Python扩展Emacs相关推荐

  1. python实现erp系统后端_python开发erp教程《PYTHON编一套完整ERP系统,15万元能下来吗》...

    python开发erp教程<PYTHON编一套完整ERP系统,15万元能下来吗> python开发erp教程2020-10-09 13:08:31人已围观 PYTHON编一套完整ERP系统 ...

  2. python对电脑配置的要求高吗_学python最电脑配置有要求么

    python对于电脑硬件基本没什么要求,下载python安装程序的时候,注意看下自己电脑属性是64位系统还是32位系统,再下载对应的python安装程序. 单纯学Python的话普通电脑就ok了,机器 ...

  3. python接口自动化测试书籍_Web接口开发与自动化测试——基于Python语言

    Web接口开发与自动化测试--基于Python语言电子书 本书特色: * Django Web发,通过发发布会签到系统,全面了解Django MTV模型. * Django单元测试,在Web应用中如何 ...

  4. python写web自动化_Web接口开发与自动化测试——基于Python语言

    目 录∣ V 目 录 第1 章 Python 学习必知 ........................................................................ ...

  5. jemeter python接口自动化测试平台_WEB接口开发与自动化测试基于PYTHON语言PDF_Python教程...

    资源名称:WEB接口开发与自动化测试 基于PYTHON语言 PDF 内容简介: <Web接口开发与自动化测试--基于Python语言>以接口测试为主线,以Web开发为切入点,全面介绍了We ...

  6. python环境变量配置(为了cmd能直接打开python)

    一.进入环境变量配置界面 有两种方法 方法一: 控制面板->系统和安全->系统->高级系统设置->环境变量 进入后往下翻 方法二:此电脑->计算机->属性-> ...

  7. python线上课堂_线上线下相结合的Python编程教学

    线上线下相结合的 Python编程教学 朱军强 广东省韶关市乳源瑶族自治县桂头中学 ,广东 韶关 512736 摘要:Python编程教学是初中信息课堂教学的重要组成模块,高质量的Python编程教学 ...

  8. pytorch 支持amd显卡吗_AMD平台上配置PyTorch+Apex开发环境

    手上有2台AMD平台的机器,用的N卡做深度学习开发机.其中一个是Ryzen 3500X ITX+2070,另一个是FX8350 990FX 3卡平台+1080和P106. 这两个机器其实都挺好用的,即 ...

  9. pytorch安装到一半中断_AMD平台上配置PyTorch+Apex开发环境

    手上有2台AMD平台的机器,用的N卡做深度学习开发机.其中一个是Ryzen 3500X ITX+2070,另一个是FX8350 990FX 3卡平台+1080和P106. 这两个机器其实都挺好用的,即 ...

最新文章

  1. Js 对小数的处理(科学计数法 , 显示精度)
  2. POJ 3278 Catch That Cow BFS
  3. android图片的处理方法,android 处理图片到固定像素解决办法
  4. 程序员也要多读些专业之外的书
  5. Chapter 7 Windows下pycaffe的使用之draw_net.py
  6. uva 1153—— Keep the Customer Satisfied
  7. 原生js实现简洁的返回顶部组件
  8. 复数乘法_初学讲义之高中数学十八:复数
  9. RAM调优之日志分析
  10. 【ACL2020论文尝鲜】如何以低成本的数据构建高效NER模型?
  11. 【语音识别】基于matlab GUI BP神经网络0到10数字语音识别【含Matlab源码 672期】
  12. MySQL 中文的乱码问题
  13. 一张正面人脸照片,3D真人头像毫秒级重建。
  14. BOS系统的设计与实现
  15. 利用canvas制作水印(兼容移动端哦)
  16. 第十三届——蓝桥杯嵌入式第二场
  17. TimeQuest Timing Analyzer简单使用
  18. scrapy shell 调试报错TypeError: module.__init__() takes at most 2 arguments (3 g iven)
  19. java jsf_JSF简单入门
  20. 我的世界java版怎么找史莱姆区块_我的世界史莱姆在哪里

热门文章

  1. iOS程序员也要学点算法吧 简单排序之插入排序
  2. Linux运维工程师的十个基本技能点
  3. 一个复杂系统的拆分改造实践
  4. 史诗级pg脚本,亲测好使
  5. Html5实现手机九宫格密码解锁功能
  6. Apple watch 开发指南(1) 预览
  7. w3c dom操作Xml时从加入另一个XML文件的一个元素
  8. Commons Configuration 学习
  9. mysql进度查看_MySQL长查询进度监控
  10. android 开发 分辨率,Android手机应用开发为适应不同分辨率你应该知道的