ipython / ipython/ipykernel

Subprocess command with pipes exception

未关闭
#979 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Python
星标
734
派生
412
平均合并
1 天 5 小时
30 天内合并 PR
8

描述

When running a system command in ipyterminal exceptions being thrown and no output being displayed. However, when running in a normal python terminal, there are no issues. Running python 3.8.3. Running ipyterminal in vs code jupyter notebook.

```
from subprocess import run, PIPE, Popen, check_output
cmd = "ls | grep test"
output = check_output(cmd)
print(output.decode('utf-8'))
```

Error in ipyterminal

FileNotFoundError Traceback (most recent call last)
C:\Temp/ipykernel_13876/3338296859.py in
1 from subprocess import run, PIPE, Popen, check_output
2 cmd = "ls | grep test"
----> 3 output = check_output(cmd)
4 #print(output.stdout.decode('utf-8'))

c:\Users\S279376\Miniconda3\envs\analytics\lib\subprocess.py in check_output(timeout, *popenargs, **kwargs)
413 kwargs['input'] = empty
414
--> 415 return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
416 **kwargs).stdout
417

c:\Users\S279376\Miniconda3\envs\analytics\lib\subprocess.py in run(input, capture_output, timeout, check, *popenargs, **kwargs)
491 kwargs['stderr'] = PIPE
492
--> 493 with Popen(*popenargs, **kwargs) as process:
494 try:
495 stdout, stderr = process.communicate(input, timeout=timeout)

c:\Users\S279376\Miniconda3\envs\analytics\lib\subprocess.py in __init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, encoding, errors, text)
856 encoding=encoding, errors=errors)
857
...
-> 1311 hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
1312 # no special security
1313 None, None,

FileNotFoundError: [WinError 2] The system cannot find the file specified

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。