【问题标题】:Executing terminal commands in Jupyter notebook在 Jupyter notebook 中执行终端命令
【发布时间】:2016-12-06 06:03:41
【问题描述】:

我正在尝试在 Jupyter 笔记本中运行以下命令(如果有影响,请使用 Python 2):

!head xyz.txt

我收到以下错误:

'head' 不是内部或外部命令,可操作 程序或批处理文件。

我需要导入什么才能做到这一点吗?

【问题讨论】:

  • head 是 unix shell 的一部分。您不能在 Windows 上使用它。
  • 谢谢你,这清除了它
  • 在 Jupyter 笔记本中执行终端命令的不同方式之间的区别在 this answer 到问题 cd vs !cd vs %cd in IPython 中进行了解释。

标签: jupyter


【解决方案1】:

现在的另一个选择是the Jupyter kernel for Bash。

【讨论】:

    【解决方案2】:

    对于 Windows,它将是 %%cmd。

    像这样写在单元格的开头:

    %%cmd
    where python
    myprogram "blabla" -x -y -z
    

    【讨论】:

      【解决方案3】:

      使用 jupyter-notebooks 调用终端的更简单方法是使用魔术函数 %%bash 并将 jupyter 单元用作终端:

      %%bash
      head xyz.txt
      pip install keras
      git add model.h5.dvc data.dvc metrics.json
      git commit -m "Second model, trained with 2000 images"
      

      【讨论】:

      • 这对我来说在 aws sagemaker 笔记本中起作用
      【解决方案4】:

      可能对其他人有用。 采用 !后跟要执行的终端命令。运行 shell 命令。例如,

      ! pip install some_package

      安装 some_package。

      【讨论】:

      • 我可能会为等效的conda install 命令添加它,添加-y 或--yes 以防止它在等待用户确认输入时挂起。 (例如conda install some_package -y)
      • Documentation。 --(来自链接)“所有以'$'为前缀的表达式都会被扩展。[...]如果你想访问一个真正的shell变量,额外的$是必要的,以防止它被IPython扩展"
      【解决方案5】:

      确保你在 linux shell 中运行你的命令,因为 windows 中没有这样的命令。

      【讨论】:

        【解决方案6】:

        您可以在其余代码之前使用魔术% bash 启动单元格。 this blog post 中有一个示例,以及一些最有用的魔法列表。

        【讨论】:

        • 我能够以双倍百分比运行它:%%bash
        猜你喜欢
        • 2019-08-20
        • 2022-11-12
        • 2019-07-13
        • 1970-01-01
        • 1970-01-01
        • 2018-12-12
        • 2018-06-01
        • 2021-06-17
        相关资源
        最近更新 更多