3

我正在尝试使用带有rope/ropemacs的Pymacs进行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。

谢谢!

4

1 回答 1

1

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

但是当您直接启动应用程序(通过双击它)时,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具有正确值的键来解决此问题PATHPATH或者,您可以为in创建用户范围的环境定义~/.MacOSX/environment.plist此处描述了这两个选项。

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

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

$ sudo port install py26-setuptools
$ /opt/local/bin/easy_install-2.6 <package>
于 2009-12-13T04:51:24.477 回答