JupyterLab에서 node.js 커널이 서 있지 않습니다.
환경:
win10
아나콘다 4.8.3
발생한 문제
node.js의 커널이 서 있지 않습니다.
>jupyter lab
[I 19:33:43.066 LabApp] JupyterLab extension loaded from C:\ProgramData\Anaconda3\lib\site-packages\jupyterlab
[I 19:33:43.066 LabApp] JupyterLab application directory is C:\ProgramData\Anaconda3\share\jupyter\lab
[I 19:33:43.486 LabApp] Serving notebooks from local directory: C:\Users\fuga
[I 19:33:43.487 LabApp] The Jupyter Notebook is running at:
[I 19:33:43.487 LabApp] http://localhost:8888/
[I 19:33:43.487 LabApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[I 19:33:45.892 LabApp] 301 GET /lab/workspaces/auto-Z/?clone (::1) 1.01ms
[I 19:33:47.494 LabApp] Build is up to date
[I 19:33:49.648 LabApp] Creating new notebook in /
[E 19:33:50.113 LabApp] Failed to run command:
['ijskernel.cmd', '--hide-undefined', 'C:\\Users\\hoge\\AppData\\Roaming\\jupyter\\runtime\\kernel-6cf3f0a8-3fed-475d-b293-b37723c04594.json', '--protocol=5.0']
당연히 코드를 실행할 수 없습니다.
[E 19:33:52.012 LabApp] Uncaught exception POST /api/sessions?1590748431976 (::1)
HTTPServerRequest(protocol='http', host='localhost:8888', method='POST', uri='/api/sessions?1590748431976', version='HTTP/1.1', remote_ip='::1')
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\web.py", line 1703, in _execute
result = await result
File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 742, in run
yielded = self.gen.throw(*exc_info) # type: ignore
File "C:\ProgramData\Anaconda3\lib\site-packages\notebook\services\sessions\handlers.py", line 72, in post
type=mtype))
File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 735, in run
value = future.result()
File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 742, in run
yielded = self.gen.throw(*exc_info) # type: ignore
File "C:\ProgramData\Anaconda3\lib\site-packages\notebook\services\sessions\sessionmanager.py", line 88, in create_session
kernel_id = yield self.start_kernel_for_session(session_id, path, name, type, kernel_name)
File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 735, in run
value = future.result()
File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 742, in run
yielded = self.gen.throw(*exc_info) # type: ignore
File "C:\ProgramData\Anaconda3\lib\site-packages\notebook\services\sessions\sessionmanager.py", line 101, in start_kernel_for_session
self.kernel_manager.start_kernel(path=kernel_path, kernel_name=kernel_name)
File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 735, in run
value = future.result()
File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 209, in wrapper
yielded = next(result)
File "C:\ProgramData\Anaconda3\lib\site-packages\notebook\services\kernels\kernelmanager.py", line 168, in start_kernel
super(MappingKernelManager, self).start_kernel(**kwargs)
File "C:\ProgramData\Anaconda3\lib\site-packages\jupyter_client\multikernelmanager.py", line 158, in start_kernel
km.start_kernel(**kwargs)
File "C:\ProgramData\Anaconda3\lib\site-packages\jupyter_client\manager.py", line 305, in start_kernel
self.kernel = self._launch_kernel(kernel_cmd, **kw)
File "C:\ProgramData\Anaconda3\lib\site-packages\jupyter_client\manager.py", line 212, in _launch_kernel
return launch_kernel(kernel_cmd, **kw)
File "C:\ProgramData\Anaconda3\lib\site-packages\jupyter_client\launcher.py", line 135, in launch_kernel
proc = Popen(cmd, **kwargs)
File "C:\ProgramData\Anaconda3\lib\subprocess.py", line 800, in __init__
restore_signals, start_new_session)
File "C:\ProgramData\Anaconda3\lib\subprocess.py", line 1207, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。
치료하기 전에 시도한 것
1. 일단 node가 들어 있는지 확인
>conda install nodejs
>conda update -all
2. kernel.json을 다시 만들어 봅니다.
>npm install -g ijavascript
>ijsinstall
>jupyter kernelspec list
Available kernels:
javascript C:\Users\hoge\AppData\Roaming\jupyter\kernels\javascript
python3 C:\ProgramData\Anaconda3\share\jupyter\kernels\python3
괜찮아
3. 여기서 jupyter lab을 다시 시작하면 오류가 보이게 되었다
오류 내용↓
Error: The module '\\?\C:\Program Files (x86)\Nodist\bin\node_modules\ijavascript\node_modules\zeromq\build\Release\zmq.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 64. This version of Node.js requires
NODE_MODULE_VERSION 67. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
at Object.Module._extensions..node (internal/modules/cjs/loader.js:846:18)
at Module.load (internal/modules/cjs/loader.js:672:32)
at tryModuleLoad (internal/modules/cjs/loader.js:612:12)
at Function.Module._load (internal/modules/cjs/loader.js:604:3)
at Module.require (internal/modules/cjs/loader.js:711:19)
at require (internal/modules/cjs/helpers.js:14:16)
at Object.<anonymous> (C:\Program Files (x86)\Nodist\bin\node_modules\ijavascript\node_modules\zeromq\lib\index.js:6:11)
at Module._compile (internal/modules/cjs/loader.js:805:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:816:10)
at Module.load (internal/modules/cjs/loader.js:672:32)
[I 19:38:54.040 LabApp] KernelRestarter: restarting kernel (4/5), new random ports
internal/modules/cjs/loader.js:846
return process.dlopen(module, path.toNamespacedPath(filename));
분명히 nodejs의 버전이 다르다고 말해지고 있다.
그러고 보니 업데이트한 것 같다.
NODE_MODULE_VERSION 64. This version of Node.js requires
NODE_MODULE_VERSION 67. Please try re-compiling or re-installing
NODE_MODULE_VERSION이 67이지만 64를 원합니다.
4. nodejs 버전 변경
출시 목록 | Node.js
여기를 보러 NODE_MODULE_VERSION이 64의 것을 선택한다.
나는 어쨌든 10.12.0으로하기로 결정했다.
버전 변경에는 이미 넣어 있던 nodist를 사용했다.
>nodist 10.12.0
10.12.0
Installing 10.12.0
10.12.0 [===============] 24201/24201 KiB 100% 0.0s
Installation successful.
>nodist
(x64)
8.16.2
> 10.12.0 (global: 10.12.0)
11.13.0
5. 뭐라고 하는 리빌드를 한다.
>jupyter lab build
[LabBuildApp] JupyterLab 1.2.6
[LabBuildApp] Building in C:\ProgramData\Anaconda3\share\jupyter\lab
[LabBuildApp] Building jupyterlab assets (build:prod:minimize)
-
성공했다고도 실패했다고도 나오지 않지만, 아마 성공하고 있다.
6. jupyter lab 시작하기
>jupyter lab
안전하게 실행할 수 있었다!
Reference
이 문제에 관하여(JupyterLab에서 node.js 커널이 서 있지 않습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/YukiKajihara/items/720774e546c158e285b5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
>jupyter lab
[I 19:33:43.066 LabApp] JupyterLab extension loaded from C:\ProgramData\Anaconda3\lib\site-packages\jupyterlab
[I 19:33:43.066 LabApp] JupyterLab application directory is C:\ProgramData\Anaconda3\share\jupyter\lab
[I 19:33:43.486 LabApp] Serving notebooks from local directory: C:\Users\fuga
[I 19:33:43.487 LabApp] The Jupyter Notebook is running at:
[I 19:33:43.487 LabApp] http://localhost:8888/
[I 19:33:43.487 LabApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[I 19:33:45.892 LabApp] 301 GET /lab/workspaces/auto-Z/?clone (::1) 1.01ms
[I 19:33:47.494 LabApp] Build is up to date
[I 19:33:49.648 LabApp] Creating new notebook in /
[E 19:33:50.113 LabApp] Failed to run command:
['ijskernel.cmd', '--hide-undefined', 'C:\\Users\\hoge\\AppData\\Roaming\\jupyter\\runtime\\kernel-6cf3f0a8-3fed-475d-b293-b37723c04594.json', '--protocol=5.0']
[E 19:33:52.012 LabApp] Uncaught exception POST /api/sessions?1590748431976 (::1)
HTTPServerRequest(protocol='http', host='localhost:8888', method='POST', uri='/api/sessions?1590748431976', version='HTTP/1.1', remote_ip='::1')
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\web.py", line 1703, in _execute
result = await result
File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 742, in run
yielded = self.gen.throw(*exc_info) # type: ignore
File "C:\ProgramData\Anaconda3\lib\site-packages\notebook\services\sessions\handlers.py", line 72, in post
type=mtype))
File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 735, in run
value = future.result()
File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 742, in run
yielded = self.gen.throw(*exc_info) # type: ignore
File "C:\ProgramData\Anaconda3\lib\site-packages\notebook\services\sessions\sessionmanager.py", line 88, in create_session
kernel_id = yield self.start_kernel_for_session(session_id, path, name, type, kernel_name)
File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 735, in run
value = future.result()
File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 742, in run
yielded = self.gen.throw(*exc_info) # type: ignore
File "C:\ProgramData\Anaconda3\lib\site-packages\notebook\services\sessions\sessionmanager.py", line 101, in start_kernel_for_session
self.kernel_manager.start_kernel(path=kernel_path, kernel_name=kernel_name)
File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 735, in run
value = future.result()
File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 209, in wrapper
yielded = next(result)
File "C:\ProgramData\Anaconda3\lib\site-packages\notebook\services\kernels\kernelmanager.py", line 168, in start_kernel
super(MappingKernelManager, self).start_kernel(**kwargs)
File "C:\ProgramData\Anaconda3\lib\site-packages\jupyter_client\multikernelmanager.py", line 158, in start_kernel
km.start_kernel(**kwargs)
File "C:\ProgramData\Anaconda3\lib\site-packages\jupyter_client\manager.py", line 305, in start_kernel
self.kernel = self._launch_kernel(kernel_cmd, **kw)
File "C:\ProgramData\Anaconda3\lib\site-packages\jupyter_client\manager.py", line 212, in _launch_kernel
return launch_kernel(kernel_cmd, **kw)
File "C:\ProgramData\Anaconda3\lib\site-packages\jupyter_client\launcher.py", line 135, in launch_kernel
proc = Popen(cmd, **kwargs)
File "C:\ProgramData\Anaconda3\lib\subprocess.py", line 800, in __init__
restore_signals, start_new_session)
File "C:\ProgramData\Anaconda3\lib\subprocess.py", line 1207, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。
1. 일단 node가 들어 있는지 확인
>conda install nodejs
>conda update -all
2. kernel.json을 다시 만들어 봅니다.
>npm install -g ijavascript
>ijsinstall
>jupyter kernelspec list
Available kernels:
javascript C:\Users\hoge\AppData\Roaming\jupyter\kernels\javascript
python3 C:\ProgramData\Anaconda3\share\jupyter\kernels\python3
괜찮아
3. 여기서 jupyter lab을 다시 시작하면 오류가 보이게 되었다
오류 내용↓
Error: The module '\\?\C:\Program Files (x86)\Nodist\bin\node_modules\ijavascript\node_modules\zeromq\build\Release\zmq.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 64. This version of Node.js requires
NODE_MODULE_VERSION 67. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
at Object.Module._extensions..node (internal/modules/cjs/loader.js:846:18)
at Module.load (internal/modules/cjs/loader.js:672:32)
at tryModuleLoad (internal/modules/cjs/loader.js:612:12)
at Function.Module._load (internal/modules/cjs/loader.js:604:3)
at Module.require (internal/modules/cjs/loader.js:711:19)
at require (internal/modules/cjs/helpers.js:14:16)
at Object.<anonymous> (C:\Program Files (x86)\Nodist\bin\node_modules\ijavascript\node_modules\zeromq\lib\index.js:6:11)
at Module._compile (internal/modules/cjs/loader.js:805:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:816:10)
at Module.load (internal/modules/cjs/loader.js:672:32)
[I 19:38:54.040 LabApp] KernelRestarter: restarting kernel (4/5), new random ports
internal/modules/cjs/loader.js:846
return process.dlopen(module, path.toNamespacedPath(filename));
분명히 nodejs의 버전이 다르다고 말해지고 있다.
그러고 보니 업데이트한 것 같다.
NODE_MODULE_VERSION 64. This version of Node.js requires
NODE_MODULE_VERSION 67. Please try re-compiling or re-installing
NODE_MODULE_VERSION이 67이지만 64를 원합니다.
4. nodejs 버전 변경
출시 목록 | Node.js
여기를 보러 NODE_MODULE_VERSION이 64의 것을 선택한다.
나는 어쨌든 10.12.0으로하기로 결정했다.
버전 변경에는 이미 넣어 있던 nodist를 사용했다.
>nodist 10.12.0
10.12.0
Installing 10.12.0
10.12.0 [===============] 24201/24201 KiB 100% 0.0s
Installation successful.
>nodist
(x64)
8.16.2
> 10.12.0 (global: 10.12.0)
11.13.0
5. 뭐라고 하는 리빌드를 한다.
>jupyter lab build
[LabBuildApp] JupyterLab 1.2.6
[LabBuildApp] Building in C:\ProgramData\Anaconda3\share\jupyter\lab
[LabBuildApp] Building jupyterlab assets (build:prod:minimize)
-
성공했다고도 실패했다고도 나오지 않지만, 아마 성공하고 있다.
6. jupyter lab 시작하기
>jupyter lab
안전하게 실행할 수 있었다!
Reference
이 문제에 관하여(JupyterLab에서 node.js 커널이 서 있지 않습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/YukiKajihara/items/720774e546c158e285b5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)