我正在尝试使用Pymacs和rope/ropemacs进行flymake语法检查,如下所述:http://www.enigmacurry.com/2009/01/21/autocompleteel-python-code-completion-in-emacs/
当我“正常”启动Carbon Emacs时,它抛出错误:
错误: Pymacs加载ropemacs...failed
我用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。
谢谢!
发布于 2009-12-13 12:51:24
这很可能是一个路径问题。当您从终端启动一个emacs时,您的PATH环境变量可能包括MacPorts bin目录/opt/local/bin,因为您可能修改了一个shell配置文件(可能是.bash_profile ),以便在PATH上包含该目录。
但是,当您直接启动一个应用程序时(通过双击它),外壳程序不会参与进来,因此,默认情况下,进程的PATH变量中不会包含/opt/local/bin。根据Pymacs等人调用python的方式,它很可能最终使用苹果提供的python2.6 (python或/usr/bin/env python)。如果你能找出它调用python的位置,你可以把它改成绝对路径,比如/opt/local/bin/python2.6。
如果您不知道如何做到这一点,您可以通过修改Carbon Emacs.app包中的plist文件来包含一个具有适当PATH值的LSEnvironment键,从而解决这个问题。或者,您可以在~/.MacOSX/environment.plist中为PATH创建用户范围的环境定义。这两个选项都在here中描述。
否则,您可以尝试使用Apple提供的Python 2.6.1安装Pymacs。
顺便说一下,您引用的链接中的安装说明使用easy_install。如果需要将软件包安装到MacPorts python中,请确保为其安装并使用easy_install实例,而不是在/usr/bin中使用苹果提供的实例
$ sudo port install py26-setuptools
$ /opt/local/bin/easy_install-2.6 <package>https://stackoverflow.com/questions/1895459
复制相似问题