Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Emacs与Python结合使用_Python_Emacs - Fatal编程技术网

如何将Emacs与Python结合使用

如何将Emacs与Python结合使用,python,emacs,Python,Emacs,我是emacs新手,我想将emacs用于python开发。我正在使用Ubuntu 9.10。我对让emacs使用python感到沮丧。我使用GNU Emacs 23.1.50.1(x86_64-pc-linux-GNU,GTK+版本2.18.0) 这就是我所做的。 * Emacs附带python模式,但有两种模式,一种是python-mode.el,另一种是python.el。我使用emacs23,所以我的是python.el(我想)。我也需要python模式吗?当我按M-Tab键时,代码完成不

我是emacs新手,我想将emacs用于python开发。我正在使用Ubuntu 9.10。我对让emacs使用python感到沮丧。我使用GNU Emacs 23.1.50.1(x86_64-pc-linux-GNU,GTK+版本2.18.0)

这就是我所做的。 *

Emacs附带python模式,但有两种模式,一种是python-mode.el,另一种是python.el。我使用emacs23,所以我的是python.el(我想)。我也需要python模式吗?当我按M-Tab键时,代码完成不起作用,而窗口管理器起作用。我试过Esc标签,但上面写着“不匹配”。如何启用代码完成

之后,我安装了ropemacs

sudo aptitude install python-ropemacs
然后我在~/.emacs上创建了.emacs文件 我在.emacs文件中添加了以下内容

(require 'pymacs)   
(pymacs-load "ropemacs" "rope-")   
(setq ropemacs-enable-autoimport t)  
(require 'anything-config)   
(require 'anything-match-plugin)   
(global-set-key "\C-ca" 'anything)   
(global-set-key "\C-ce" 'anything-for-files)   
然后,当我点击M-/(Alt-/)时,当我从菜单Rope->Code assist单击时,它不起作用,它会打开一个文件对话框来选择根项目文件夹。我选择了当前文件夹,里面有一些python代码。当我从菜单中再次尝试代码辅助时,它会显示 “x的完成:”除了空集什么都没有。如何使emacs python代码完成工作

然后我下载了,任意配置,任意匹配插件到~/.emacs.d文件夹,然后我在.emacs文件中添加了以下行

(require 'pymacs)   
(pymacs-load "ropemacs" "rope-")   
(setq ropemacs-enable-autoimport t)  
(require 'anything-config)   
(require 'anything-match-plugin)   
(global-set-key "\C-ca" 'anything)   
(global-set-key "\C-ce" 'anything-for-files)   
猜猜看有什么没用。我又一次尝试了“M-x任何东西”,但没有找到匹配项(我猜C-ca(先是控制a,然后是e)的组合可能会起作用,它说它没有定义)。你能向像我这样的傻瓜解释一下python的代码完成情况吗。谢谢
编辑:我可以使用带有链接的emacs与python一起工作。感谢大家的回答

我不确定您是否需要做任何花哨的事情才能让Python开发正常工作。在gNewSense deltah(Ubuntu8.04的fork)上,我所做的就是编辑一个.py文件,第一行是:

#/usr/bin/python

然后Emacs会计算出来,并为您提供python模式选项。除了Emacs,我不需要安装任何东西


再说一次,这可能没有什么帮助,因为默认情况下,gNewSense会预安装Emacs。我必须在我的一个普通Ubuntu安装上完成这项工作。

Emacs在Ubuntu 9.10上为我提供了现成的解决方案


在尝试代码完成之前,是否尝试了C-C选项卡(更新导入)?除非您这样做,否则我认为它不会工作。

我认为您确实希望安装包
python模式
!ropemacs的变体似乎只用于重构,pymacs允许Python作为Emacs扩展语言——这两种语言都不是标准支持所需要的。

我没有尝试过任何东西,而且我在使用rope时运气也不太好(巨大的源代码树导致我的Emacs挂起任何文件保存)。相反,我发现默认完成对于我的目的来说已经足够好了

默认的完成键绑定是
M-/
。它运行dabbrev expand,将当前单词扩展为“最新的、前面的单词,这是前缀”。它并不完美:它不会解析类型,也不会搜索导入,但它在90%的情况下都能工作


(您必须停用rope。)

Emacs通过查看py扩展名来激活Python模式,但代码投诉不起作用,这意味着Python菜单可见。我从菜单Python->Complete symbol中尝试过,但没有成功。@TonyCruise应该这样做。请在提交错误报告,因为它需要更多信息来修复。我键入了C-C选项卡。然后我写impo(我希望它能被完全删除以导入),然后从菜单Python->Complete symbol中我没有找到匹配项。是的,你是对的。我的手指键入了
M-/
,这很有效,但这与菜单项
Complete Symbol
似乎不起作用不是一回事。现在我尝试了以下sudo aptitude安装python模式,然后我得到了一个额外的菜单IM python,其他python菜单完全改变了,现在没有完整的符号,就是这样——你需要其他emacs工具来完成代码在Linux下。EmacsWiki可能会让您开始使用,工具(cedet、ecb等)也在Ubuntu中。这就是说,我没有使用太多的附加标签,而且使用了“简单得多,但基本上足够好”的M-/。@TonyCruise似乎是一个过时的版本。请加载一个当前的,开发在这里: