|
18 | 18 | from . import __version__
|
19 | 19 | from .kernelspec import KernelSpecManager
|
20 | 20 |
|
21 |
| -try: |
22 |
| - raw_input |
23 |
| -except NameError: |
24 |
| - # py3 |
25 |
| - raw_input = input |
26 | 21 |
|
27 | 22 | class ListKernelSpecs(JupyterApp):
|
28 | 23 | version = __version__
|
29 | 24 | description = """List installed kernel specifications."""
|
30 | 25 | kernel_spec_manager = Instance(KernelSpecManager)
|
31 | 26 | json_output = Bool(False, help='output spec name and location as machine-readable json.',
|
32 | 27 | config=True)
|
33 |
| - |
| 28 | + |
34 | 29 | flags = {'json': ({'ListKernelSpecs': {'json_output': True}},
|
35 | 30 | "output spec name and location as machine-readable json."),
|
36 | 31 | 'debug': base_flags['debug'],
|
@@ -71,7 +66,7 @@ def path_key(item):
|
71 | 66 | class InstallKernelSpec(JupyterApp):
|
72 | 67 | version = __version__
|
73 | 68 | description = """Install a kernel specification directory.
|
74 |
| - |
| 69 | +
|
75 | 70 | Given a SOURCE DIRECTORY containing a kernel spec,
|
76 | 71 | jupyter will copy that directory into one of the Jupyter kernel directories.
|
77 | 72 | The default is to install kernelspecs for all users.
|
@@ -157,44 +152,44 @@ class RemoveKernelSpec(JupyterApp):
|
157 | 152 | version = __version__
|
158 | 153 | description = """Remove one or more Jupyter kernelspecs by name."""
|
159 | 154 | examples = """jupyter kernelspec remove python2 [my_kernel ...]"""
|
160 |
| - |
| 155 | + |
161 | 156 | force = Bool(False, config=True,
|
162 | 157 | help="""Force removal, don't prompt for confirmation."""
|
163 | 158 | )
|
164 | 159 | spec_names = List(Unicode())
|
165 |
| - |
| 160 | + |
166 | 161 | kernel_spec_manager = Instance(KernelSpecManager)
|
167 | 162 | def _kernel_spec_manager_default(self):
|
168 | 163 | return KernelSpecManager(data_dir=self.data_dir, parent=self)
|
169 |
| - |
| 164 | + |
170 | 165 | flags = {
|
171 | 166 | 'f': ({'RemoveKernelSpec': {'force': True}}, force.get_metadata('help')),
|
172 | 167 | }
|
173 | 168 | flags.update(JupyterApp.flags)
|
174 |
| - |
| 169 | + |
175 | 170 | def parse_command_line(self, argv):
|
176 | 171 | super(RemoveKernelSpec, self).parse_command_line(argv)
|
177 | 172 | # accept positional arg as profile name
|
178 | 173 | if self.extra_args:
|
179 | 174 | self.spec_names = sorted(set(self.extra_args)) # remove duplicates
|
180 | 175 | else:
|
181 | 176 | self.exit("No kernelspec specified.")
|
182 |
| - |
| 177 | + |
183 | 178 | def start(self):
|
184 | 179 | self.kernel_spec_manager.ensure_native_kernel = False
|
185 | 180 | spec_paths = self.kernel_spec_manager.find_kernel_specs()
|
186 | 181 | missing = set(self.spec_names).difference(set(spec_paths))
|
187 | 182 | if missing:
|
188 | 183 | self.exit("Couldn't find kernel spec(s): %s" % ', '.join(missing))
|
189 |
| - |
| 184 | + |
190 | 185 | if not self.force:
|
191 | 186 | print("Kernel specs to remove:")
|
192 | 187 | for name in self.spec_names:
|
193 | 188 | print(" %s\t%s" % (name.ljust(20), spec_paths[name]))
|
194 |
| - answer = raw_input("Remove %i kernel specs [y/N]: " % len(self.spec_names)) |
| 189 | + answer = input("Remove %i kernel specs [y/N]: " % len(self.spec_names)) |
195 | 190 | if not answer.lower().startswith('y'):
|
196 | 191 | return
|
197 |
| - |
| 192 | + |
198 | 193 | for kernel_name in self.spec_names:
|
199 | 194 | try:
|
200 | 195 | path = self.kernel_spec_manager.remove_kernel_spec(kernel_name)
|
|
0 commit comments