找不到魔法函数`bash`

时间:2012-12-08 04:49:58

标签: bash ipython ipython-magic

我有一堆模拟,我想在高性能集群上运行,我应该预约计算时间。由于预订受时间的限制,我正在开发一个自动化脚本,我可以scp进入集群并运行。然后,该脚本将下载相关的模拟文件,运行它们并上传结果。

此自动化脚本的一部分位于bashcpscp等),其余部分位于python中。为了开发这种自动化,我使用的是IPython笔记本。

到目前为止,我已经在我的IPython笔记本中编写了所有python自动化内容,并且我正在尝试编写它的bash部分。

然而,似乎魔术%%bash在我的IPython笔记本中不起作用。当我的单元格中包含此代码时,出现以下错误:


细胞

%%bash

echo hi

错误

  File "<ipython-input-22-62ec98e35224>", line 3
    echo hi
          ^
SyntaxError: invalid syntax

一时兴起,我试过这个:


细胞

%%bash

print "hi"

错误

hi
ERROR: Magic function `bash` not found.

所以我尝试使用%%system%%!%%shell。但这些都不起作用;他们都给了我同样的错误。

为什么会这样?我该如何解决这个问题?

元数据:

  • IPython 0.13.dev
  • Python 2.7.1
  • Mac OS X Lion

2 个答案:

答案 0 :(得分:0)

这是由版本错误引起的。我升级了我的IPython版本(现在为0.13.1),这很好用。

所以看起来这个问题是使用开发版本(这是我安装IPython时的最新版本)。

答案 1 :(得分:0)

当您尝试在Windows ipython上使用%%bash时,您也会遇到类似的错误。那里没有%%bash。而是获得%%cmd。虽然cmd不是bash,但情况并不相同。