jupyter-notebook - bash 单元魔法运行,但随后吐出一个很长的错误
问题描述
鉴于以下bash
细胞魔法:
> %%bash
! ls
该命令运行 - 但随后引发异常:
Untitled.ipynb
contradictory-my-dear-watson.zip
sample_submission.csv
test.csv
train.csv
---------------------------------------------------------------------------
CalledProcessError Traceback (most recent call last)
<ipython-input-2-9b04a68257be> in <module>
----> 1 get_ipython().run_cell_magic('bash', '', '! ls\n')
~/miniconda3/lib/python3.7/site-packages/IPython/core/interactiveshell.py in run_cell_magic(self, magic_name, line, cell)
2360 with self.builtin_trap:
2361 args = (magic_arg_s, cell)
-> 2362 result = fn(*args, **kwargs)
2363 return result
2364
~/miniconda3/lib/python3.7/site-packages/IPython/core/magics/script.py in named_script_magic(line, cell)
140 else:
141 line = script
--> 142 return self.shebang(line, cell)
143
144 # write a basic docstring:
<decorator-gen-110> in shebang(self, line, cell)
~/miniconda3/lib/python3.7/site-packages/IPython/core/magic.py in <lambda>(f, *a, **k)
185 # but it's overkill for just that one bit of state.
186 def magic_deco(arg):
--> 187 call = lambda f, *a, **k: f(*a, **k)
188
189 if callable(arg):
~/miniconda3/lib/python3.7/site-packages/IPython/core/magics/script.py in shebang(self, line, cell)
243 sys.stderr.flush()
244 if args.raise_error and p.returncode!=0:
--> 245 raise CalledProcessError(p.returncode, cell, output=out, stderr=err)
246
247 def _run_script(self, p, cell, to_close):
CalledProcessError: Command 'b'! ls\n'' returned non-zero exit status 1.
错误的原因是什么,是否有修复/解决方法?
解决方案
我有一个类似的问题。我不确定这是否是同样的问题。但是我给出了我的解决方案。
我的情况:我用 Conda 安装了 bash_kernel 并在 Jupyter Notebook 环境中使用它。尽管如此,细胞魔法“%%bash”并没有起作用。“!” 作品。任何!通常不建议同时使用细胞魔法和线魔法。然而我的问题是细胞魔法不起作用。
事实证明,即使在 Jupyter 中,这也是一个 Windows/Linux 问题。我正在使用 Windows。解决方案是在 Windows 中使用 Linux Bash。
如果 Jupyter notebook 是从 Git Bash 启动的,那么它就可以工作。另一种方法是在 Windows 下安装 Ubuntu 并从 Ubuntu Bash 运行它。这也有效。但是,您必须将 Git Bash 连接到 Anaconda。这在这里解释:
“在你的 GitBash 提示符中输入以下命令。Anaconda3
/Scripts/activate
假设你在你的主目录中。这将允许你从 GitBash 运行 jupyter 并使用来自 jupyter 的 UNIX 命令。”
[在这里查找][1]
推荐阅读
- node.js - SOAP XML 加密和签名与 node-soap 模块
- angular - angular form.io builder如何自定义组件列表和每个组件的属性列表
- excel - 匹配行中的数据并复制
- sql - 如何使用存储过程在 sql server 中 PIVOT 表?
- c++ - 我可以将对象的子对象设置为在 PugiXML 中单独定义的对象吗?
- django-forms - Django mysql EnumField 没有出现在 HTML 页面上
- javascript - 如何从节点 api 运行 jscodeshift?
- prolog - 如何列出放弃一家航空公司的所有行程
- javascript - 使用 Javascript 生成 Python 进程
- excel - Excel power Query:分组和转置