在安装了Git Bash的Windows 10上尝试在Jupyter Notebooks中使用bash细胞魔法时,我遇到了奇怪的行为。
细胞魔法似乎适用于某些bash程序(例如,回声(,但不适用于其他程序(例如头部(。
使用!代替bash细胞魔法适用于某些命令,但不适用于其他命令。这种不一致会扼杀不同操作系统之间的笔记本兼容性。
有人对这里发生的事情有任何见解吗?
以下是一些示例:
输入:
%%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
根据我的经验,只要Jupyter是从符合bash的命令行启动的,例如Git Bash(MingW64(或Windows上的Ubuntu,bash命令就可以在Jupyter Notebook中工作!
,即使在Windows系统上也是如此。
我正在运行通过Anaconda安装Python的Windows 10 Pro,当我通过Git Bash启动Jupyter时,bash可以工作,但当我从Anaconda提示符启动时则不起作用。例如:
>>> !ls
database.sqlite
Weather Data Clustering using k-Means.ipynb
>>>!pip show lxml | grep Version
Version: 4.1.0