问题标签 [python.el]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Emacs Python Mode Not Showing Ending Block
In Emacs 24.2, in python-mode when hitting tab to indent, it prints out at the bottom which block this level closes.
In Emacs 24.3 (which I believe updates python-mode to use python.el), this does not happen anymore. It usually prints something like: Closes: class Hi():
. Is this not supported in the new python.el in Emacs 24.3? Is there anyway I can get it working again?
I tried searching for this but I cannot find any discussion or anything about it.
python - 在 Emacs 中设置 Python 项目根目录?
emacs-for-python(基于python.el
)提供了很好的能力来启动 Python 进程并直接从 Emacs 那里发送缓冲区(通常你用C-c C-c
)。但是,这种方式会为每个缓冲区创建新进程,并将 Python 的工作目录设置为相应文件的目录。
相反,我希望将工作目录设置为项目根目录的单个 Python 进程。或者甚至可能是几个进程,但从根目录开始,而不是模块的目录。
为什么我需要它?都是关于进口的。想象一下以下项目结构:
如果我在 file 上启动 Python 进程mod1.py
,Emacs 会自动将工作目录设置为,myproject/package1
这样我就只能从同一个包中导入模块。没有从其他包导入。没有绝对进口。疼痛。
目前我使用一个技巧sys.path
,比如:
在每个模块的开头。但这真的,真的,真的很丑陋和不方便。
那么有没有人有任何提示或技巧来为 Emacs 中的劣质进程设置 Python 的项目根目录?
python - Emacs:在派生模式下更改 python.el 缩进
我正在尝试从 python.el (当前的官方 gnu 模式)为 Boo 派生一个新的 emacs 模式,但我在更改缩进时遇到了麻烦。有人对如何最好地处理这个问题有任何建议吗?我不需要彻底改变任何东西,只需添加一些新的块形式和东西。
例如,因为这是 Boo,try/except 语法使用“ensure”而不是“finally”。我可以通过更改 python-rx-constituents 的 block-start def 在 python.el 中轻松更改这一点。但是,我似乎无法在派生模式下覆盖它,因为 python-rx-constituents 正在被一个宏 python-rx 使用,我猜一旦这两个东西在 python.el 加载时被定义(因为它必须,因为我是从它派生的),我不能再在加载后或在钩子中覆盖它?因为我确实在 python.el 加载后的内存和钩子中以及在加载后的语句中更改了它,但它们都不起作用。虽然直接改变 python.el 工作正常。
以下是来自 python.el 的代码:
我想更改 python-rx-constituents 以便 block-start 包含“确保”而不是最终。
emacs - aquamacs 中的 Eval 区域 ipython 解释器
我正在尝试使 Aquamacs 3.0a GNU Emacs 24.3.50.2 与 iPython 1.2.0 作为解释器一起工作。我能够使用 python.el 中的指令使 iPython 基本上正常工作。特别是,我将此处最佳答案中给出的设置添加到了我的 .emacs 文件中,但我仍然看到一些奇怪的行为。
注意:我的 .emacs 文件中的设置显然适用于 iPython 0.11,而不是 1.2.0,这可能是问题的根源。我不是 lisp 专家,因此将不胜感激任何帮助。
这是我能够重现的一个症状:^C^R(评估区域)命令可能会从解释器生成大量空白“In [X]:”。为了重现 aquamacs 中的问题,我创建了一个名为的文件test.py
并将以下代码放入其中:
然后我输入 ^C^P(启动解释器),返回test.py
缓冲区,然后输入 ^C^C(评估缓冲区)。输出是:
这一切都很好。但随后我突出显示最后一行print spam
,然后键入 ^C^R。输出:
奇怪,不是吗?对于较长的文件,情况会变得更糟。即使活动区域是一行,我也经常看到 15 行或更多的空白“In [X]:”行。
emacs - 如何为emacs配置python.el以使用python3 shell?
我是emacs的新手。我安装了具有内置 python 模式(python.el)的 emacs24。我找不到这个文件,也不知道如何配置它以使用 python3 shell(它默认使用 python2.7)。谢谢
python - Emacs 24 的 python.el + ipython 无法完成模块名称
我在 OSX 上使用 Emacs 24.4.1(与 Homebrew 一起安装),内置 .python.el
和 Python 3(也与 Homebrew 一起安装),以及 IPython 2.3.0。我有这个.emacs
:
当我调用 时,一切正常M-x run-python
,除了一件事:<tab>
模块名称的 -completion 在 REPL 中不起作用(它在*Messages*
缓冲区中显示“不匹配”)。我很确定它可以与我最近升级的 Emacs 24.3 一起使用,但我不能 100% 确定。任何人都知道可能导致这种情况的原因,或者我如何尝试调试它?
emacs - 在为 python (python.el) 配置 .emacs 文件时寻求帮助,
我的 emacs 版本是 24.5,使用内置 python。我.emacs
为此写了以下几行:
问题是没有命令(当我试图运行时test.py
)正在工作。我尝试了几个名为的命令
他们都回来了
我做错了什么?我应该做些什么?理想的配置应该是什么(.emacs
)?
更多信息:
- Python 3.4 安装在
C:/
- Emacs 在
C:/Program Files/
$HOME
是C:/user/akk/appdata/roaming/
emacs - Emacs24 和 python 模式:文档字符串中的缩进
我有以下代码/文本:
在 Emacs23 (23.4.1) 中,我能够在最后一行(“第二个注释行”;不管这行如何缩进)按 TAB,并且它像这样正确对齐:
即,它使用上一行并以相同的方式缩进下一行。
现在在 Emacs24 (24.3.1) 中,这不再起作用,它的对齐方式如下:
即它对齐多行字符串块,但不依赖于前一行。
它只影响文档字符串;代码按我的意愿缩进。我正在使用python-mode
. 我怎样才能改变它,以便按 TAB 正确对齐块?
python - Emacs Inferior Python shell 使用每个 python-shell-send-region 命令显示发送消息
我在 OS X (El Capitan) 上使用 Python 劣质 shell,每次我向 Python 进程发送一段代码(使用C-c C-r
绑定到python-shell-send-region
)时,我都会在 Python shell 中收到如下消息:
我不希望每次调用命令时都显示此消息。Linux 上相同版本的 Emacs(连同 python.el 文件)没有这个问题。消息的模板是在python-shell-send-file
函数(在python.el
文件中)中定义的,这本身就令人费解,因为我看不到在调用python-shell-send-region
. 对于第一次运行,我使用以下命令调用 Python 解释器(版本 2.7.10)
但它与其他 python 解释器(通过 brew 安装)的行为也相同。我正在使用 Emacs 24.5.1(再次通过 brew 安装)。我使用的唯一 python 模式特定配置.emacs
与选项卡宽度有关:
任何帮助或建议表示赞赏。
编辑和可能的解决方案:
(我发现这个https://github.com/jorgenschaefer/elpy/issues/1307):
如果您在安装 gnureadline 时遇到错误,请fatal error: 'stdio.h' file not found
尝试xcode-select --install
.
emacs - Emacs:为什么打开文件时没有正确设置主要模式?
为什么当我打开一个 .py 文件(emacs test.py)时,主模式没有自动设置为 python 模式?我的 .emacs 中处理 python 的一些部分是:
左侧窗口应显示 ipython shell,右侧窗口应显示打开的文件 test.py。一切正常,但 test.py 处于基本模式,实际上暂存缓冲区设置为 python 模式。
编辑
好吧,问题只是我的 eval 函数处理窗口和缓冲区的方式,因此这段代码可以正确处理主要模式:
左侧窗口显示 foo.py(python 模式),右侧窗口显示暂存缓冲区(文本模式)。还有消息缓冲区和 python shell 缓冲区(inferior-python-mode)。现在只需在左侧窗口打开inferior-python-mode,在右侧窗口打开foo.py。