我正在尝试使用带有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。
谢谢!
答案 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>