从Jupyter Notebook响应Shell提示符

11

当使用!快捷方式从笔记本中执行shell命令时,如何响应后续提示?

例如:!read varname似乎会无限期地挂起内核,我无法运行另一个命令来响应。

在一个单元格中预测这个提示也不起作用:

!read varname
!my_answer
!echo $varname

单元格卡住了[*]

(这些是简化的示例,实际用例需要响应“是/否”提示)


2
不要认为这是不可能的,请查看 https://github.com/ipython/ipython/issues/514。您仍然可以在命令中明确使用“-y”或“-n”选项。 - kHarshit
2
谢谢!-y选项适用于我的用例,即卸载一个包:!pip uninstall openpyxl -y。我会保留这个问题的开放状态,因为这不是按照原帖的问题的解决方案。 - Alex F
1个回答

1

临时bash子shell的输入流与您的浏览器没有连接。

向jupyter内核发送命令是单向的,没有互动。Bash在这里也不例外。

状态更改,例如使用“cd”命令更改工作目录,需要特殊的实现工作:“魔术命令”。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接