python - Emacs:Pymacs 不使用 Carbon Emacs 加载 ropemacs

标签 python emacs flymake ropemacs pymacs

我正在尝试将 Pymacs 与 rope/ropemacs 一起用于 flymake 语法检查,如下所述: http://www.enigmacurry.com/2009/01/21/autocompleteel-python-code-completion-in-emacs/

当我“正常”启动 Carbon Emacs 时,它会抛出错误:

错误:Pymacs 加载 ropemacs...失败

我在 OSX 10.5 上使用 Carbon Emacs 进行了此操作,但在 10.6 中失败了。但是,它在加载“终端”emacs、Aquamacs 时有效,或者如果我使用“/Applications/Emacs.app/Contents/MacOS/Emacs”从命令行打开 Carbon Emacs。我假设这是某种路径错误,但我终究无法弄清楚。

我的设置是 OSX 10.6.2,我使用的是 macports python 2.6.4。

谢谢!

最佳答案

很可能是路径问题。当您从终端启动 emacs 时,您的 PATH 环境变量可能包含 MacPorts bin 目录 /opt/local/bin 因为您可能修改了一个 shell 配置文件,可能.bash_profile,将该目录包含在 PATH 中。

但是当您直接启动应用程序(通过双击它)时,shell 不参与,因此默认情况下,/opt/local/bin 不会包含在进程的 PATH 变量。根据 Pymacs 等调用 python 的方式,它很可能以 Apple 提供的 python2.6(python/usr/bin/env python)结束。如果你能弄清楚它在哪里调用 python,你可以将其更改为绝对路径,例如 /opt/local/bin/python2.6

如果您不知道该怎么做,您可以通过修改 Carbon Emacs.app 包内的 plist 文件以包含 LSEnvironment 键和 PATH 的正确值。或者您可以在 ~/.MacOSX/environment.plist 中为 PATH 创建用户范围的环境定义。描述了这两个选项 here .

否则,您可以尝试使用 Apple 提供的 Python 2.6.1 安装 Pymacs。

顺便说一句,您引用的链接中的安装说明使用easy_install。如果您需要将软件包安装到 MacPorts python 中,请确保为其安装和使用 easy_install 实例,而不是在 /usr/bin 中使用 Apple 提供的实例:

$ sudo port install py26-setuptools
$ /opt/local/bin/easy_install-2.6 <package>

关于python - Emacs:Pymacs 不使用 Carbon Emacs 加载 ropemacs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1895459/

相关文章:

python - flymake的临时文件可以在系统的临时目录下创建吗?

emacs24 - flymake 错误 : no build file found, flymake 关闭

python - 通过 python 程序将参数传递给 Cygwin

emacs - 能不能让emacs有类似010编辑器文件格式分析的功能?

仅用于显示的 Emacs 缩写

emacs - 如何解决冲突的面孔订单?

python - 即使已经通过pip安装了pyflake,Emacs elpy Flymake也找不到pyflakes

python - python相对xml节点遍历

python - 生成的最短唯一 ID

python - 将列的值拆分为数据框中的新列以进行过滤