0%

在jupyter里使用bash

jupyter里有个东西叫魔法命令如果在一个cell里第一行写上%%bash, python在运行这个cell的时候会把命令交给bash。这个过程也可以在命令前面加上!来实现。

这个事情听起来挺不错,也挺简单。

我的需求是用一个叫cooler的软件,这个软件是通过conda安装在一个虚拟环境里的,当我使用%%bash的时候发现会提示我找不到命令。

cooler not found

开始我怀疑是虚拟环境的问题,然后尝试conda activate *** 但是连conda也找不到。我的conda init在~/.zshrc~/.bashrc里面都是写了的。在某大佬的指点下在~/.zshrc下加了一句export PATH="test:$PATH" 然后!echo $PATH,并没有返回test。这说明jupyter没有加载~/.zshrc

echo

可以加入在每个cell中加入source ~/.zshrc 然后再conda activate ***但是这样很麻烦。

然后在github上发现了这么一个项目:https://github.com/takluyver/bash_kernel

To install:

1
2
pip install bash_kernel
python -m bash_kernel.install

之后可以直接选择bash作为kernel,这样只需要在kernel运行的时候运行一次conda activate ***之后可以在所有的cell中使用cooler。

这也算是解决问题了……