Jupyter Notebook使用Bash命令报错求助:已装Bash内核仍提示ls未识别
搞定Jupyter Notebook里Bash命令报错的小技巧
嘿,我来帮你解决这个问题!你遇到的'ls' is not recognized as an internal or external command...报错,核心原因其实很简单——你当前用的还是Python内核在跑代码,而ls是Bash(Linux/Unix系)的命令,Windows默认的cmd/PowerShell根本不认它,哪怕你装了Bash内核,没切过去也白搭。
下面给你几个具体的解决办法,按需选就行:
1. 直接切换到Bash内核(最省心)
打开你的Notebook后,点顶部菜单栏的Kernel → Change Kernel,找到你安装的Bash内核(一般叫Bash或者带WSL标识的选项)。切换完之后,不用加!前缀,直接写纯Bash命令就行:
PATH="/Downloads/dogscats/" ls $PATH
(注意:如果是Windows的WSL Bash,路径要写成/mnt/c/Downloads/dogscats/,对应Windows的C:\Downloads\dogscats\,因为WSL会把Windows盘符挂载在/mnt下)
2. 不想切内核?在Python内核里强行调用Bash
要是你就想在Python内核里跑Bash命令,得先确保Windows开了WSL(Windows子系统Linux),然后用bash -c来执行:
PATH="/Downloads/dogscats/" !bash -c "ls {PATH}"
或者嫌麻烦,直接用Windows自带的dir命令替代ls看目录内容也行:
PATH="C:\\Downloads\\dogscats\\" # Windows路径记得用双反斜杠,或者写成r"C:\Downloads\dogscats\" !dir {PATH}
3. 要是找不到Bash内核?重新装一遍
如果切换内核的时候看不到Bash选项,大概率是内核没装对,按这几步来:
- 先确保Windows已经启用WSL,并且装了一个Linux发行版(比如Ubuntu,在微软商店就能下)
- 打开终端,执行
pip install bash_kernel - 再执行
python -m bash_kernel.install - 重启Jupyter Notebook,就能看到Bash内核选项了
内容的提问来源于stack exchange,提问作者Karan Purohit
相关产品推荐
相关产品推荐

