У меня установлен jupyterhub с ноутбуком jupyterlab / jupyter.Я установил расширение ijavascript.Запуская блокнот jupyter и открывая новый блокнот с ядром javascript, я получаю сообщение: «Ядро запускается, пожалуйста, подождите ...»
На консоли я получаю следующие сообщения:
[I 15:22:24.145 NotebookApp] KernelRestarter: restarting kernel (4/5),
new random ports internal/modules/cjs/loader.js:582
throw err;
^
Error: Cannot find module '../build/Release/zmq.node'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:580:15)
at Function.Module._load (internal/modules/cjs/loader.js:506:25)
at Module.require (internal/modules/cjs/loader.js:636:17)
at require (internal/modules/cjs/helpers.js:20:18)
at Object.<anonymous> (/opt/anaconda3/lib/node_modules/ijavascript/node_modules/zeromq/lib/index.js:6:11)
at Module._compile (internal/modules/cjs/loader.js:688:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
at Module.load (internal/modules/cjs/loader.js:598:32)
at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
at Function.Module._load (internal/modules/cjs/loader.js:529:3)
Моя система Ubuntu 18.4
У меня установлен "Anaconda3-2018.12-Linux-x86_64.sh" от имени пользователя root в "/opt/anaconda3".
Ноутбуки Jupyter, jupyterlab и jupyterhub работаютхорошо.Записные книжки ядра Python3 работают отлично, и я мог установить несколько расширений jupyter lab:
JupyterLab v0.35.4
Known labextensions:
app dir: /opt/anaconda3/share/jupyter/lab
@jupyter-widgets/jupyterlab-manager v0.38.1 enabled OK
@jupyterlab/hub-extension v0.12.0 enabled OK
@jupyterlab/latex v0.6.1 enabled OK
@jupyterlab/plotly-extension v0.18.2 enabled OK
@jupyterlab/xkcd-extension v0.6.0 enabled OK
@krassowski/jupyterlab_go_to_definition v0.1.4 enabled OK
@lckr/jupyterlab_variableinspector v0.1.0 enabled OK
@mflevine/jupyterlab_html v0.1.4 enabled OK
jupyter-matplotlib v0.3.0 enabled OK
jupyterlab-drawio v0.5.0 enabled OK
jupyterlab_bokeh v0.6.3 enabled OK
После установки nodejs и добавления информации о прокси в .npmrc (/ etc / environment уже была установлена) я мог установить ядро javascriptпосле того, как я установил nodejs:
conda install nodejs
conda install -c krinsman ijavascript
/opt/anaconda3/bin/npm install -g ijavascript
Где-то в строке я попытался / opt / anaconda3 / bin / npm install -g zeromq
Поскольку я получал ошибки при попытке установить ijsinstall.
Наконец-то я смог установить ядро с помощью:
/opt/anaconda3/bin/ijsinstall --spec-path=full --install=global
Ядро (ссылки, записи и тому подобное) доступно в блокноте jupyter, а также в стартовом окне jupyterlab.Однако через некоторое время связь с ядром отсутствует.(В ядре jupyterlab отображается сообщение «Нет ядра»). На консоли появляется вышеупомянутое сообщение об ошибке (для записной книжки juypter):
Error: Cannot find module '../build/Release/zmq.node'
at Function.Module._resolveFilename internal/modules/cjs/loader.js:580:15)
A
find /opt/anaconda3 -name "zmq.node"
возвращает следующее:
/opt/anaconda3/pkgs/ijavascript-v5.0.20-0/lib/node_modules/ijavascript/node_modules/zeromq/build/Release/zmq.node
/opt/anaconda3/lib/node_modules/zeromq/build/Release/zmq.node
При попытке «ijskernel» выдается то же сообщение об ошибке, что и:
ijsnotebook --allow-root
Нужно ли устанавливать ijavascript по-другому?Нужно ли копировать / ссылаться на zmq.node где-нибудь еще?Проблема в том, работает ли от имени пользователя root или как служба?
Выполнение следующей команды в / opt / anaconda3:
grep --include=\*.js -rnw -e 'build/Release/zmq.node'
Обнаружено:
pkgs/ijavascript-v5.0.20-0/lib/node_modules/ijavascript/node_modules/zeromq/lib/index.js:6: , zmq = require('../build/Release/zmq.node')
lib/node_modules/zeromq/lib/index.js:6: , zmq = require('../build/Release/zmq.node')
lib/node_modules/ijavascript/node_modules/zeromq/lib/index.js:6: , zmq = require('../build/Release/zmq.node')
в то время как
find . -name "zmq.node"
обнаружил следующее
./pkgs/ijavascript-v5.0.20-0/lib/node_modules/ijavascript/node_modules/zeromq/build/Release/zmq.node
./lib/node_modules/zeromq/build/Release/zmq.node
Удаление ijavascript и zermq, переустановка и копирование zmq.node в каталог, указанный в сообщении об ошибке, изменяет сообщение об ошибке (при попытке ijskernel):
KERNEL: ARGV: [ '/opt/anaconda3/bin/node', '/opt/anaconda3/bin/ijskernel' ]
Usage: node kernel.js [--debug] [--hide-undefined] [--protocol=Major[.minor[.patch]]] [--session-working-dir=path] [--show-undefined] [--startup-script=path] connection_file
/opt/anaconda3/lib/node_modules/ijavascript/lib/kernel.js:190
throw e;
^
Error: Error: missing connection_file
at parseCommandArguments (/opt/anaconda3/lib/node_modules/ijavascript/lib/kernel.js:182:19)
at Object.<anonymous> (/opt/anaconda3/lib/node_modules/ijavascript/lib/kernel.js:46:14)
at Module._compile (internal/modules/cjs/loader.js:688:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
at Module.load (internal/modules/cjs/loader.js:598:32)
at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
at Function.Module._load (internal/modules/cjs/loader.js:529:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:741:12)
at startup (internal/bootstrap/node.js:285:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:739:3)
ijsnotebook --allow-root
или
jupyter notebook --allow-root
или
jupyter lab --allow-root
для запуска локальной записной книжки, которая может подключаться к ядру javascript.
Этоне работает через jupyterhub.