Skip to content

Commit dc0eaba

Browse files
authored
fix kernelspec print output (#933)
- typos in log -> print migration, where deferred formatting doesn't work - keep errors written to stderr
1 parent 9df6ac3 commit dc0eaba

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

jupyter_client/kernelspecapp.py

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ def path_key(item):
6262

6363
print("Available kernels:")
6464
for kernelname, path in sorted(paths.items(), key=path_key):
65-
print(" %s %s", kernelname.ljust(name_len), path)
65+
print(f" {kernelname.ljust(name_len)} {path}")
6666
else:
6767
print(json.dumps({"kernelspecs": specs}, indent=2))
6868
return specs
@@ -140,7 +140,7 @@ def parse_command_line(self, argv):
140140
if self.extra_args:
141141
self.sourcedir = self.extra_args[0]
142142
else:
143-
print("No source directory specified.")
143+
print("No source directory specified.", file=sys.stderr)
144144
self.exit(1)
145145

146146
def start(self):
@@ -157,14 +157,12 @@ def start(self):
157157
)
158158
except OSError as e:
159159
if e.errno == errno.EACCES:
160-
print(e)
160+
print(e, file=sys.stderr)
161161
if not self.user:
162-
print(
163-
"Perhaps you want to install with `sudo` or `--user`?",
164-
)
162+
print("Perhaps you want to install with `sudo` or `--user`?", file=sys.stderr)
165163
self.exit(1)
166164
elif e.errno == errno.EEXIST:
167-
print("A kernel spec is already present at %s", e.filename)
165+
print(f"A kernel spec is already present at {e.filename}", file=sys.stderr)
168166
self.exit(1)
169167
raise
170168

@@ -209,7 +207,8 @@ def start(self):
209207
if not (self.force or self.answer_yes):
210208
print("Kernel specs to remove:")
211209
for name in self.spec_names:
212-
print(" %s\t%s", name.ljust(20), name.ljust(20))
210+
path = spec_paths.get(name, name)
211+
print(f" {name.ljust(20)}\t{path.ljust(20)}")
213212
answer = input("Remove %i kernel specs [y/N]: " % len(self.spec_names))
214213
if not answer.lower().startswith("y"):
215214
return
@@ -224,7 +223,7 @@ def start(self):
224223
self.exit(1)
225224
else:
226225
raise
227-
print("Removed %s", path)
226+
print(f"Removed {path}")
228227

229228

230229
class InstallNativeKernelSpec(JupyterApp):
@@ -295,7 +294,7 @@ def start(self):
295294
name_len = len(sorted(provisioners, key=lambda name: len(name))[-1])
296295

297296
for name in sorted(provisioners):
298-
print(" %s %s", name.ljust(name_len), provisioners[name])
297+
print(f" {name.ljust(name_len)} {provisioners[name]}")
299298

300299

301300
class KernelSpecApp(Application):

0 commit comments

Comments
 (0)