##// END OF EJS Templates
Also look in /usr/local/share/ipython/kernels
Thomas Kluyver -
Show More
@@ -13,11 +13,13 b' from IPython.utils.traitlets import HasTraits, List, Unicode, Dict'
13 if os.name == 'nt':
13 if os.name == 'nt':
14 programdata = os.environ.get('PROGRAMDATA', None)
14 programdata = os.environ.get('PROGRAMDATA', None)
15 if programdata:
15 if programdata:
16 SYSTEM_KERNEL_DIR = pjoin(programdata, 'ipython', 'kernels')
16 SYSTEM_KERNEL_DIRS = [pjoin(programdata, 'ipython', 'kernels')]
17 else: # PROGRAMDATA is not defined by default on XP.
17 else: # PROGRAMDATA is not defined by default on XP.
18 SYSTEM_KERNEL_DIR = None
18 SYSTEM_KERNEL_DIRS = []
19 else:
19 else:
20 SYSTEM_KERNEL_DIR = "/usr/share/ipython/kernels"
20 SYSTEM_KERNEL_DIRS = ["/usr/share/ipython/kernels",
21 "/usr/local/share/ipython/kernels",
22 ]
21
23
22 NATIVE_KERNEL_NAME = 'python3' if PY3 else 'python2'
24 NATIVE_KERNEL_NAME = 'python3' if PY3 else 'python2'
23
25
@@ -80,8 +82,7 b' class KernelSpecManager(HasTraits):'
80 help="List of kernel directories to search. Later ones take priority over earlier."
82 help="List of kernel directories to search. Later ones take priority over earlier."
81 )
83 )
82 def _kernel_dirs_default(self):
84 def _kernel_dirs_default(self):
83 return [
85 return SYSTEM_KERNEL_DIRS + [
84 SYSTEM_KERNEL_DIR,
85 self.user_kernel_dir,
86 self.user_kernel_dir,
86 ]
87 ]
87
88
@@ -151,7 +152,10 b' class KernelSpecManager(HasTraits):'
151 kernel_name = kernel_name.lower()
152 kernel_name = kernel_name.lower()
152
153
153 if system:
154 if system:
154 destination = os.path.join(SYSTEM_KERNEL_DIR, kernel_name)
155 if SYSTEM_KERNEL_DIRS:
156 destination = os.path.join(SYSTEM_KERNEL_DIRS[-1], kernel_name)
157 else:
158 raise EnvironmentError("No system kernel directory is available")
155 else:
159 else:
156 destination = os.path.join(self.user_kernel_dir, kernel_name)
160 destination = os.path.join(self.user_kernel_dir, kernel_name)
157
161
General Comments 0
You need to be logged in to leave comments. Login now