在Jupyter笔记本中混淆bash cell magics的行为(Windows 10,Git Bash)

时间:2017-08-09 14:44:37

标签: jupyter-notebook git-bash

我在安装了Git Bash的Windows 10上的Jupyter笔记本中尝试使用bash cell magics时出现了奇怪的行为。

Cell magics似乎适用于某些bash程序(例如echo,echo),但不适用于其他程序(例如head)。

使用!代替bash cell magics适用于某些命令,但不适用于其他命令。这种不一致性会破坏不同操作系统的笔记本兼容性。

有没有人对这里发生的事情有任何了解?

以下是一些例子:

输入:

%%bash
which bash

输出:

/bin/bash

输入:

!which bash

输出:

'which' is not recognized as an internal or external command, operable program or batch file.

输入:

%%bash
head file.csv

输出:

输入:

!head file.csv

输出:

Row,Column,*Target Name,*Sample Name

输入:

%%bash
echo pizza

输出:

pizza

输入:

!echo pizza

输出:

pizza

1 个答案:

答案 0 :(得分:0)

根据我的经验,只要从兼容bash的命令行(例如Git Bash (MingW64)或可能使用Ubuntu on Windows来启动Jupyter,!开头的bash命令就可以在Jupyter Notebook中使用,甚至在Windows系统上。

我正在运行Windows 10 Pro,并且通过Anaconda安装了Python,当我通过Git Bash启动Jupyter时,bash可以工作,但是从Anaconda提示符下启动时,不是。例如:

>>> !ls
database.sqlite
Weather Data Clustering using k-Means.ipynb

>>>!pip show lxml | grep Version
Version: 4.1.0