Emacs: 使用Carbon Emacs时Pymacs无法加载ropemacs

3
我试图按照这里的描述,使用Pymacs和rope/ropemacs进行语法检查: http://www.enigmacurry.com/2009/01/21/autocompleteel-python-code-completion-in-emacs/ 当我以“正常”的方式启动Carbon Emacs时,它会抛出错误: error: Pymacs loading ropemacs...failed
我曾在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。
谢谢!
1个回答

1
机会是路径问题。当您从终端启动emacs时,您的PATH环境变量应该包括MacPorts bin目录/opt/local/bin,因为您可能修改了一个shell配置文件(可能是.bash_profile)来将该目录加入PATH
但是,当您直接启动应用程序(通过双击它)时,不涉及shell,因此默认情况下,进程的PATH变量中不包括/opt/local/bin。根据Pymacs等工具如何调用python,最有可能的是使用苹果提供的python2.6(python/usr/bin/env python)。如果您能找出它在哪里调用python,您可以将其更改为绝对路径,例如/opt/local/bin/python2.6

如果您无法弄清楚如何做到这一点,可以通过修改Carbon Emacs.app包内的plist文件以包含适当值的LSEnvironment键,或在~/.MacOSX/environment.plist中创建用户范围的环境定义来解决问题。这两个选项都在此处有描述。

否则,您可以尝试使用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>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接