在iMac上从Emacs运行Octave

时间:2011-11-23 18:11:34

标签: emacs osx-snow-leopard octave

Octave安装在/applications的iMac上并且运行正常 Emacs安装在/applications的iMac上,可以进行文件编辑 现在我想从Emacs运行Octave。 M-x run-octave导致:

Searching for program: No such file or directory, octave

在Windows中,我通过将Octave添加到环境路径来解决了这个问题,我该如何在Mac上执行此操作?

提前感谢Hans Sellmeijer

3 个答案:

答案 0 :(得分:1)

以下是两种可能的解决方案:

  1. 在shell中输入which octave,找到实际的Octave可执行文件。例如,如果通过Macports安装,则位于/opt/local/bin/octave。然后,在Emacs中,执行M-x customize-group RET octave-inferior RET,将Inferior Octave Program的值修改为此值,然后点击State > Save for Future Sessions

    或者,您可以在Elisp中执行此操作,方法是将以下内容放入.emacsinit.el文件中(显然根据需要更改引用的部分):

    (setq inferior-octave-program "/opt/local/bin/octave")

  2. 您可以像在Windows上一样将八度音阶添加到PATH环境变量,但是在Mac OS X下从Finder启动的Emacs没有获得您可能放入.bashrc或类似的任何环境设置。从终端窗口运行Emacs,或者放入.emacs:

    (add-to-list 'exec-path "/opt/local/bin")

  3. 希望有所帮助。

答案 1 :(得分:1)

感谢Jon,Emacs使用Snow-Leopard在iMac上正确处理Octave。 “.emacs”文件包含:

(add-to-list 'exec-path "/applications/Octave.app/Contents/Resources/bin")
(autoload 'octave-mode "octave-mod" nil t)
(setq auto-mode-alist (cons '("\\.m$" . octave-mode) auto-mode-alist))
(add-hook 'octave-mode-hook (lambda () (abbrev-mode 1) (auto-fill-mode 1) (if (eq window-system 'x) (font-lock-mode 1))))
(autoload 'run-octave "octave-inf" nil t)

小心从.PDF手册复制这些行。引号变形以逃避序列,这削弱了正确使用。

答案 2 :(得分:0)

这就是我能够在Mac上运行Emacs中的Octave(包括绘图)(OS X 10.7.3):

  1. 从源代码安装八度音阶:fink install octave。这也安装了gnuplot的所有依赖项,二进制发行版似乎没有正确执行(至少,它对我不起作用)。唯一的缺点是安装需要几个小时才能完成我的MacBook Air。
  2. octave-inferior中自定义.emacs :(此列表中可能包含更多变量):
  3.     (custom-set-variables
        '(inferior-octave-program "/sw/bin/octave")
        '(inferior-octave-startup-args (quote ("-i")))