Emacs:Pymacs没有使用Carbon Emacs加载ropemacs

时间:2009-12-13 03:18:27

标签: python emacs flymake ropemacs pymacs

我正在尝试使用带有rope / ropemacs的Pymacs进行flymake语法检查,如下所述: http://www.enigmacurry.com/2009/01/21/autocompleteel-python-code-completion-in-emacs/

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

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

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

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

谢谢!

1 个答案:

答案 0 :(得分:1)

可能是路径问题。当您从终端启动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值。或者,您可以在PATH中为~/.MacOSX/environment.plist创建用户范围的环境定义。这两个选项都描述为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>