IPython notebook, как задать правильный путь к ядру
При запуске ipyhton notebook на Windows 7 64bit и запуске ноутбука с ядром python 2 я получаю ошибку:
Traceback (most recent call last):
File "C:UsersUSER1Anaconda2libsite-packagesnotebookbasehandlers.py", line 436, in wrapper
result = yield gen.maybe_future(method(self, *args, **kwargs))
File "C:UsersUSER1Anaconda2libsite-packagesnotebookservicessessionshandlers.py", line 56, in post
model = sm.create_session(path=path, kernel_name=kernel_name)
File "C:UsersUSER1Anaconda2libsite-packagesnotebookservicessessionssessionmanager.py", line 66, in create_session
kernel_name=kernel_name)
File "C:UsersUSER1Anaconda2libsite-packagesnotebookserviceskernelskernelmanager.py", line 84, in start_kernel
**kwargs)
File "C:UsersUSER1Anaconda2libsite-packagesjupyter_clientmultikernelmanager.py", line 109, in start_kernel
km.start_kernel(**kwargs)
File "C:UsersUSER1Anaconda2libsite-packagesjupyter_clientmanager.py", line 244, in start_kernel
**kw)
File "C:UsersUSER1Anaconda2libsite-packagesjupyter_clientmanager.py", line 190, in _launch_kernel
return launch_kernel(kernel_cmd, **kw)
File "C:UsersUSER1Anaconda2libsite-packagesjupyter_clientlauncher.py", line 115, in launch_kernel
proc = Popen(cmd, **kwargs)
File "C:UsersUSER1Anaconda2libsubprocess.py", line 710, in __init__
errread, errwrite)
File "C:UsersUSER1Anaconda2libsubprocess.py", line 958, in _execute_child
startupinfo)
WindowsError: [Error 2] The system cannot find the file specified
Я исследовал дальше и добавил следующие строки печати перед proc = Popen(cmd, **kwargs)
внутри launcher.py файл
print cmd
print kwargs
Теперь я вижу, что proc = Popen(cmd, **kwargs)
вызывается с cmd=
['C:\Users\USER1\Anaconda2_32bit\python.exe', '-m', 'ipykernel', '-f', '
C:\Users\USER1\AppData\Roaming\jupyter\runtime\kernel-a3f46334-4491-4
fef-aeb1-6772b8392954.json']
Это проблема, потому что мой python.exe не находится в
C:\Users\USER1\Anaconda2_32bit\python.exe
Но в
C:\Users\USER1\Anaconda2\python.exe
Однако я проверил пути в компьютерной / продвинутой системе переменные settings / Advanced / Enviroment и \Anaconda2_32bit\
там никогда не указываются.
Также у меня ранее была установка Anaconda в \Anaconda2_32bit\
, но я ее удалил.
1 ответ:
Ipython имеет ядра, зарегистрированные в специальных конфигурационных файлах Я выполнил команду:
ipython kernelspec list
Выход был:
Available kernels: python2 C:\ProgramData\jupyter\kernels\python2
Я заглянул в файл
C:\ProgramData\jupyter\kernels\python2\kernel.json
, и там был неверный путь, установленный для python2. Я установил путь, и теперь он работает.