jupyter里有个东西叫魔法命令如果在一个cell里第一行写上%%bash
, python在运行这个cell的时候会把命令交给bash。这个过程也可以在命令前面加上!
来实现。
这个事情听起来挺不错,也挺简单。
我的需求是用一个叫cooler
的软件,这个软件是通过conda安装在一个虚拟环境里的,当我使用%%bash
的时候发现会提示我找不到命令。
开始我怀疑是虚拟环境的问题,然后尝试conda activate ***
但是连conda也找不到。我的conda init在~/.zshrc
和~/.bashrc
里面都是写了的。在某大佬的指点下在~/.zshrc
下加了一句export PATH="test:$PATH"
然后!echo $PATH
,并没有返回test。这说明jupyter没有加载~/.zshrc
。
可以加入在每个cell中加入source ~/.zshrc
然后再conda activate ***
但是这样很麻烦。
然后在github上发现了这么一个项目:https://github.com/takluyver/bash_kernel
To install:
1 | pip install bash_kernel |
之后可以直接选择bash作为kernel,这样只需要在kernel运行的时候运行一次conda activate ***
之后可以在所有的cell中使用cooler。
这也算是解决问题了……