emacs python ide_Emacs Python IDE win7 x64

安装平台 win7 x64 ,emacs 23.3.1

snippet工具,可自定义一些模板:

.emacs 配置如下

(add-to-list 'load-path "~/.emacs.d/yasnippet")

(require 'yasnippet) ;; not yasnippet-bundle

(yas/global-mode 1)

自动完成工具,其实只是一个前端工具。当然也可以用ropemacs 作为它补全的后端使用。

.emacs 配置如下:

(add-to-list 'load-path "~/.emacs.d/")

(require 'auto-complete-config)

(add-to-list 'ac-dictionary-directories "~/.emacs.d//ac-dict")

(ac-config-default)

安装python-mode :

4.Rope and Ropemacs

Ropemacs非常棒的重构工具,比如rename,move,extract method等等。还有非常好用的goto difinition(跳到定义),show documents(显示文档)、代码补全等等。安装Ropemacs前,必须先安装rope和pymacs实际上还要安装rope-mode。

rope的安装方法:

python setup.py install

pymacs的win上安装方法:

python pppp -C ppppconfig.py pppp.rst.in pymacs.el.in \ pymacs.rst.in Pymacs contrib tests

python setup.py install

注意此处:我git pymacs到本地后无法install成功,后来别人给一个pymacs包,我放在git的pymacs里,重新执行上面的安装方法后,成功。pymacs包见本文尾

如果成功,则在python环境中输入以下,不会报错:

from Pymacs import lisp

.emacs中:

(autoload 'pymacs-apply "pymacs")

(autoload 'pymacs-call "pymacs")

(autoload 'pymacs-eval "pymacs" nil t)

(autoload 'pymacs-exec "pymacs" nil t)

(autoload 'pymacs-load "pymacs" nil t)

注意完成后,将下图552行的Pymacs.pymacs 改成Pymacs

python setup.py install

.emacs中:

(require 'pymacs)

(pymacs-load "ropemacs" "rope-")

(setq ropemacs-enable-autoimport t)

注意:ropemacs时,先将ropemacs解压缩,然后将刚刚安装好的ropemode拷贝进去,再执行安装,否则会出错。C:\Python27\Lib\site-packages\ropemacs

基本操作

rope-code-assist, M-/

Code completionrope-rename, C-c r r

Rename a variable, function, etc.

5.程序调试

在Emacs中,通过M-x pdb可调出pdb对python代码进行调试。但是发现在Windows系统中,总进入不了调试模式。主要原因有:

1. windows中,找不到pdb.py位置。需自己制定pdb的路径。可以通过下面的方法设置pdb的路径:

;; pdb setup, note the python version

(setq pdb-path 'c:/python25/Lib/pdb.py

gud-pdb-command-name (symbol-name pdb-path))

(defadvice pdb (before gud-query-cmdline activate)

"Provide a better default command line when called interactively."

(interactive

(list (gud-query-cmdline pdb-path

(file-name-nondirectory buffer-file-name)))))

2. windows中,调用pdb时,未使用python -i 参数。

针对上面两个问题,我的解决办法是,不设置pdb具体路径,M-x pdb 回车后,出现下面命令:

Run pdb (like this): pdb

然后手动修改一下:

Run pdb (like this): python -i -m pdb test.py

6.代码检查

基本上都是flymake+pyflakes 或者 flymake +pylint模式,我选择了前者。并安装了pep8

flymake是emacs自带的,下载pep8 安装好后,按下面配置好即可:

c-c c-w是执行命令!

注意pyflakes 和pep8 都是在cmd中执行命令的。

;pycheck grammer ; indent something

(add-to-list 'load-path "~/.emacs.d/")

(add-hook 'find-file-hook 'flymake-find-file-hook)

(when (load "flymake" t)

(defun flymake-pyflakes-init ()

(let* ((temp-file (flymake-init-create-temp-buffer-copy

'flymake-create-temp-inplace))

(local-file (file-relative-name

temp-file

(file-name-directory buffer-file-name))))

(list "pychecker" (list local-file))))

(add-to-list 'flymake-allowed-file-name-masks

'("\\.py\\'" flymake-pyflakes-init)))

(load-library "flymake-cursor")

;(global-set-key [f10] 'flymake-goto-prev-error)

;(global-set-key [f11] 'flymake-goto-next-error)

(setq python-check-command "pyflakes")

然后创建一个pychecker.bat的文档 丢到python里面,我的目录是c:\python27

python C:\Python27\runpyflakes.py %*

pep8 --ignore=E221,E701,E202 --repeat %*

再在该目录创建一个runpyflakes.py的程序

from pyflakes.scripts.pyflakes

import mainmain()

效果如下:

7.文档帮助

我还是喜欢firefox直接上官方文档库查找。

emacs wiki 也给出了sphinx后格式的文档下载,可以直接在emacs info里查看帮助。

具体链接请见本文末尾处效果可以看最后一个链接。

8.段落注解:

Comment/Uncomment Region

If you have ‘transient-mark-mode’ on, you can just use ‘comment-dwim’:

select a region and hit ‘M-;’.

The DoWhatIMean means that it will comment or uncomment the regionas appropriate.

If youdo not have ‘transient-mark-mode’ on bydefault, you can hit C-SPC twice to activate it temporarily.

( doesn’t python-mode.el offer `py-comment-region? --CH )

You can also use “rectangles” with comment/uncomment region (among other things that you cando with rectangles).

See RectangleCommands or “(emacs) Rectangles”in the Emacs manual.

9.框架支持

10.测试

待完善,下面的link中含有。

主要参考了:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/335019.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决阿里云 ssh 远程连接短时间没操作就会断掉的问题

在本地主机(例如:你自己的 MacBook)中打开 sshd 的配置文件,命令语句如下: sudo vim /etc/ssh/sshd_config注意:使用用户 root 编辑配置文件,否则会报错。 找到下面这个两行(/Clie…

oracle查看jdk文档_Oracle JDK 9 Early Access文档已更新

oracle查看jdk文档Raymond Gallardo于2017年4月4日发布的针对Oracle JDK 9的抢先 访问文档已更新,今天宣布对Oracle JDK9文档的抢先访问页面进行了更新。 Gallardo重点介绍了一些更新的部分,包括Oracle JDK 9的新增功能 , Oracle JDK 9迁移指…

python3 selenium_Python3+Selenium3自动化测试-(准备)

Python3Selenium3自动化测试-(准备)最近在学习selenium自动化测试相关的内容,所以将实际准备情况做一记录,# 系统:win10(64位)# 浏览器:Chrome(67.0)、Firefox(61.0)、IE# python版本:3.6.5# Selenium:3.13…

MacBook如何通过键盘快捷键输入特殊字符_特殊符号

符号快捷键说明–[ Option ][ - ]破折号[ Option ] [ / ]除号≠[ Option ][ ]不等号≤[ Option ][ < ]≥[ Option ][ > ][ Option ][ \ ]左指双角引号[ Option ][ ’ ]拉丁文小写字母AE…[ Option ][ ; ]水平省略号≈[ Option ][ X ]约等于Ω[ Option ][ Z ]希腊文大写…

java 类 null_深入理解java中的null“类型”

本文研究的主要是java中的null“类型”的相关实例&#xff0c;具体介绍如下。先给出一道简单的null相关的题目&#xff0c;引发我们对null的探讨,后面会根据官方语言手册对null“类型”进行解读。题目&#xff1a;下面程序能正确运行吗&#xff1f;解析&#xff1a;输出应该为 …

wcg总决赛_关于总决赛

wcg总决赛可以将变量声明为final。 最终变量只能分配一次。 如果分配了最终变量&#xff0c;则将导致编译时错误&#xff0c;除非在分配前立即将其明确取消分配。 分配任何最终变量后&#xff0c;将永远无法对其进行更改。 如果变量引用任何对象的任何实例&#xff0c;它将继续…

python dump函数用法_Python中json库的load和dump函数

相信很多朋友都对python里面的json库非常熟悉&#xff0c;json这个东西简明易懂&#xff0c;还能储存数据&#xff0c;实在是非常方便。我一开始使用json是从爬虫接触的&#xff0c;那个时候只知道json.loads和json.dumps&#xff0c;当时ide确实会自动填充load函数和dump函数&…

如何彻底禁用Chrome浏览器的缓存功能

禁止Chrome浏览器的缓存功能有几种方式&#xff1a; 使用Shift F5强制刷新缓存。实际使用中我们发现&#xff0c;这种方法对于部分网页的更改并不能做到释放缓存的作用&#xff0c;尤其是无法释放DNS缓存。 使用隐身模式Shift Control N. 这种方法只能在打开的页面上消除之…

java int integer内存_java中一个integer对象的内存占用是多少?可以通过java方法输出吗?...

今天翻记录看到了自己15年3月份提的问题&#xff0c;现在已经18年6月份了&#xff1b;去年线上项目出现内存瓶颈&#xff0c;原因是缓存的玩家角色数据过多&#xff0c;在长时间不停服的情况下&#xff0c;导致数据越来越膨胀&#xff0c;之前没有清除无用缓存的机制&#xff0…

Linux命令行中的特殊符号_特殊字符

常用的特殊符号 符号说明#1.表示注释&#xff1b;2.命令提示符~表示用户主目录。切换到用户主目录下&#xff1a;cd ~&#xff0c;切换到用户主目录下的bin目录&#xff1a;cd ~/bin~表示当前目录。切换到当前目录下wwwroot目录&#xff1a;cd ~/wwwroot~-表示上次的工作目录。…

微信小程序css 华文琥珀_琥珀项目:较小的,面向生产力的Java语言功能

微信小程序css 华文琥珀Brian Goetz最近的消息欢迎来到琥珀&#xff01; 介绍Project Amber &#xff08; OpenJDK的一部分&#xff0c; 最初于1月提出 &#xff09;。 Goetz通过介绍“欢迎使用Amber项目&#xff0c;这是我们面向特定生产力的Java语言JEP的孵化场”的介绍打开了…

windows查看器无法打开图片_关于windows微软商城无法打开 错误代码0x80004003问题...

我本来是商城可以进 但是一打开里面的东西就无法打开 按下面的刷新就闪退 如下图操作桌面winr 运行 services.msc然后找到windows update打开就行 但是开启了系统会自动更新若是修改时显示拒绝访问桌面winr 输入regedit打开注册表 注册表找到HKEY_LOCAL_MACHINESYSTEMCurrentCo…

win10 java 反编译_win10下对.java源文件进行编译和反编译的步骤

1、先写好代码&#xff0c;如下找了个示例代码&#xff0c;文件名是Mutex.java&#xff1a;package com.huangshiyi.concurrent.cha04;import java.util.concurrent.TimeUnit;public class Mutex {private final static Object MUTEX new Object();public void accessResource…

Linux 删除指定目录下的文件/删除文件

文章目录删除当前目录下的所有类型的文件删除指定目录下的所有类型的文件用 find 命令在当前目录下查找普通文件并删除用 find 命令在指定目录下查找普通文件并删除用 find 命令的处理动作将当前目录及其子目录下的普通文件删除用 find 命令的处理动作将指定目录及其子目录下的…

电容屏物体识别_相比传统的触摸屏,电容式触摸屏的优势

点击蓝字&#xff0c;轻松关注今日话题 如今&#xff0c;我们的身边有着许多电子产品&#xff0c;主要是因为它便于我们的生活&#xff0c;所以我们的身边出现了许多触摸屏。对于电子产品&#xff0c;我们使用之前要了解清楚它的使用性能&#xff0c;掌握多点信息&#xff0c;这…

gatling的环境配置_将Gatling集成到Gradle构建中–了解SourceSet和配置

gatling的环境配置我最近在一个项目中工作&#xff0c;我们不得不将出色的负载测试工具Gatling集成到基于Gradle的版本中。 有可用的gradle插件使此操作变得容易&#xff0c;其中有两个是this和this &#xff0c;但是对于大多数需求而言&#xff0c;只需简单执行命令行工具本身…

java底层机制_Java同步机制的底层实现

在多线程编程中我们会遇到很多需要使用线程同步机制去解决的并发问题&#xff0c;而这些同步机制就是多线程编程中影响正确性和运行效率的重中之重。这不禁让我感到好奇&#xff0c;这些同步机制是如何实现的呢&#xff1f;好奇心是进步的源泉&#xff0c;就让我们一起来揭开同…

Linux下常用文本处理命令

Linux下面有很多经典的非常有用的命令&#xff0c;其中处理文本的命令就有很多。这些小工具经过了几十年时间的洗礼&#xff0c;现在已经变成了经典&#xff0c;已经变成了Linux下面的标准&#xff0c;其实它们一直是遵循着Linux的标准。下面就让我们一起看看这些经典的Linux文…

payara 创建 集群_高可用性(HA),会话复制,多VM Payara群集

payara 创建 集群抽象 在研究如何创建高可用性&#xff08;HA&#xff09;时&#xff0c;我发现了会话复制&#xff0c;多机处理的Payara / GlassFish群集&#xff0c;无法在单个参考中找到所需的一切。 我认为这将是一个普遍的需求并且很容易找到。 不幸的是&#xff0c;我的假…

python3连接oracle数据库真操蛋_为64位Windows7的Python3安装MySQLdb

Install 64-bit MySQLdb for Python 3 on Windows 7为64位Windows7的Pyhton3安装MySQLdb原文在此Jesus Rollerblading Christ. It all started as a simple idea: I would install Django and start working on this web app idea I had and use it as a chance to learn more …