No module named 'xeus_python_shell' when installing SlicerJupyter on SlicerCAT

Hi,

To build SlicerJupyter I use the hints from the link

After building SlicerCAT with SlicerJupyter I click on Start Jupyter Server button and after a while the Jupyter runs.

After new instances of SlicerCAT are launched by Jupyter I get an error:
ModuleNotFoundError: No module named 'xeus_python_shell'

and an error within Jupyter:
image

After manually pip install xeus_python_shell it seems I can run SlicerJupyter but an error appear:

Failed to create history session in /home/kerim/.ipython/profile_default/history.sqlite. History will not be saved.
Traceback (most recent call last):
  File "/home/kerim/Documents/Colada/r/python-install/lib/python3.9/site-packages/IPython/core/history.py", line 546, in __init__
    self.new_session()
  File "/home/kerim/Documents/Colada/r/python-install/lib/python3.9/site-packages/decorator.py", line 232, in fun
    return caller(func, *(extras + args), **kw)
  File "/home/kerim/Documents/Colada/r/python-install/lib/python3.9/site-packages/IPython/core/history.py", line 60, in only_when_enabled
    return f(self, *a, **kw)
  File "/home/kerim/Documents/Colada/r/python-install/lib/python3.9/site-packages/IPython/core/history.py", line 571, in new_session
    cur = conn.execute("""INSERT INTO sessions VALUES (NULL, ?, NULL,
sqlite3.OperationalError: no such column: 

and for example getNode('Some Node') doesn’t work from Jupyter:
NameError: name 'getNode' is not defined

It seems you connect to a stock Python kernel. Choose the Slicer kernel instead.

image

1 Like

Thank you for response,

No I connect to the Slicer’s kernel:
image

I just noticed that getNode() is not recognized but a = slicer.util.getNode('F') works fine. So I think that is ok.

But the above error Failed to create history session still exist.
I should mention that I use sqlite built as a shared library…

Though the more important thing is the following:
after installing SlicerCAT (using cpack) with SlicerJupyter I’m unable to run SlicerJupyter. After clicking on Start Jupyter server I get an error:

Switch to module:  "JupyterKernel"
QIODevice::read (QFile, "/home/kerim/.local/share/Trash/files/Colada-0.2.1.0-2022-04-17-linux-amd64/bin/../share/Colada-4.13/qt-loadable-modules/JupyterKernel/Colada-4.13/kernel-template.json"): device not open
QIODevice::read (QFile, "/home/kerim/.local/share/Trash/files/Colada-0.2.1.0-2022-04-17-linux-amd64/bin/../share/Colada-4.13/qt-loadable-modules/JupyterKernel/Colada-4.13/kernel-template.json"): device not open
Removing existing kernelspec in /home/kerim/.local/share/jupyter/kernels/colada-4.13
Installed kernelspec colada-4.13 in /home/kerim/.local/share/jupyter/kernels/colada-4.13
usage: jupyter.py [-h] [--version] [--config-dir] [--data-dir] [--runtime-dir]
                  [--paths] [--json] [--debug]
                  [subcommand]

Jupyter: Interactive Computing

positional arguments:
  subcommand     the subcommand to launch

optional arguments:
  -h, --help     show this help message and exit
  --version      show the versions of core jupyter packages and exit
  --config-dir   show Jupyter config dir
  --data-dir     show Jupyter data dir
  --runtime-dir  show Jupyter runtime dir
  --paths        show all Jupyter paths. Add --json for machine-readable
                 format.
  --json         output paths as machine-readable json
  --debug        output debug information about paths

Available subcommands: kernel kernelspec migrate run troubleshoot trust

Jupyter command `jupyter-lab` not found.

The file /home/kerim/.local/share/Trash/files/Colada-0.2.1.0-2022-04-17-linux-amd64/bin/../share/Colada-4.13/qt-loadable-modules/JupyterKernel/Colada-4.13/kernel-template.json exists and its content (opened with gedit <path>):

{
    "display_name": "{slicer_application_name} {slicer_version_major}.{slicer_version_minor}",
    "language" : "python",
    "argv": [
        "{slicer_launcher_executable}",
        "--no-splash",
        "--python-code",
        "connection_file=r'{connection_file}';print('JupyterConnectionFile:['+connection_file+']');slicer.modules.jupyterkernel.startKernel(connection_file);slicer.util.mainWindow().showMinimized()"
    ]
}

The content of the folder:
image

And the permissions of kernel-template.json:
image

Ubuntu 20.04

The kernel installation looks good (Installed kernel spec... ). You can confirm this by seeing the Slicer kernel showing up in the list of kernels.

Maybe jupyter notebook server is not installed. Or maybe you just need to restart Slicer after installing it before it can be found. Restart the application and then try again. If does not help then pip_install jupyterlab:

Didn’t help…

When I do pip_install jupyterlab I can see that the requirements already satisfied.
After that I tried to slicer.util.pip_install("jupyter jupyterlab ipywidgets pandas ipyevents ipycanvas --no-warn-script-location")
And once again I got requirements already satisfied.

The same error I get:

QTextCursor::setPosition: Position '-2358' out of range
QTextCursor::setPosition: Position '-2358' out of range
QTextCursor::setPosition: Position '-2358' out of range
QIODevice::read (QFile, "/home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/bin/../share/Colada-4.13/qt-loadable-modules/JupyterKernel/Colada-4.13/kernel-template.json"): device not open
Removing existing kernelspec in /home/kerim/.local/share/jupyter/kernels/colada-4.13
Installed kernelspec colada-4.13 in /home/kerim/.local/share/jupyter/kernels/colada-4.13
usage: jupyter.py [-h] [--version] [--config-dir] [--data-dir] [--runtime-dir]
                  [--paths] [--json] [--debug]
                  [subcommand]

Jupyter: Interactive Computing

positional arguments:
  subcommand     the subcommand to launch

optional arguments:
  -h, --help     show this help message and exit
  --version      show the versions of core jupyter packages and exit
  --config-dir   show Jupyter config dir
  --data-dir     show Jupyter data dir
  --runtime-dir  show Jupyter runtime dir
  --paths        show all Jupyter paths. Add --json for machine-readable
                 format.
  --json         output paths as machine-readable json
  --debug        output debug information about paths

Available subcommands: kernel kernelspec migrate run troubleshoot trust

Jupyter command `jupyter-lab` not found.

Then I tried to launch app with sudo but still no progress

Maybe some ...Settings.ini is incorrect?

ColadaLauncherSettings.ini:

[General]
launcherNoSplashScreen=false
launcherSplashImagePath=<APPLAUNCHER_DIR>/bin/SplashScreen.png
launcherSplashScreenHideDelayMs=3000
additionalLauncherHelpShortArgument=-h
additionalLauncherHelpLongArgument=--help
additionalLauncherNoSplashArguments=--no-splash,--help,--version,--home,--program-path,--no-main-window,--settings-path,--temporary-path





[Application]
path=<APPLAUNCHER_DIR>/bin/ColadaApp-real
arguments=
name=Colada
revision=30783
organizationDomain=kitware.com
organizationName=Kitware, Inc.

[ExtraApplicationToLaunch]

designer/shortArgument=
designer/help=Start Qt designer using Slicer plugins
designer/path=<APPLAUNCHER_SETTINGS_DIR>/../bin/designer-real
designer/arguments=


[Environment]
additionalPathVariables=QT_PLUGIN_PATH,PYTHONPATH,LibraryPaths

[LibraryPaths]
1\path=<APPLAUNCHER_SETTINGS_DIR>/../bin
2\path=<APPLAUNCHER_SETTINGS_DIR>/../lib/Colada-4.13
3\path=<APPLAUNCHER_SETTINGS_DIR>/../lib/Colada-4.13/cli-modules
4\path=<APPLAUNCHER_SETTINGS_DIR>/../lib/Colada-4.13/qt-loadable-modules
5\path=../lib/Colada-4.13/qt-loadable-modules
6\path=<APPLAUNCHER_SETTINGS_DIR>/../lib/Python/lib
7\path=<APPLAUNCHER_SETTINGS_DIR>/../lib
8\path=<APPLAUNCHER_SETTINGS_DIR>/../lib/Teem-1.12.0
9\path=<APPLAUNCHER_SETTINGS_DIR>/../lib/PythonQt
10\path=<APPLAUNCHER_SETTINGS_DIR>/../lib/Python/lib/python3.9/site-packages/numpy/core
11\path=<APPLAUNCHER_SETTINGS_DIR>/../lib/Python/lib/python3.9/site-packages/numpy/lib
size=11

[Paths]
1\path=<APPLAUNCHER_SETTINGS_DIR>/../bin
2\path=<APPLAUNCHER_SETTINGS_DIR>/../lib/Colada-4.13/cli-modules
3\path=<APPLAUNCHER_SETTINGS_DIR>/../lib/Colada-4.13/qt-loadable-modules
size=3

[EnvironmentVariables]
SLICER_HOME=<APPLAUNCHER_SETTINGS_DIR>/..
ITK_AUTOLOAD_PATH=<APPLAUNCHER_SETTINGS_DIR>/../lib/Colada-4.13/ITKFactories
PIP_REQUIRE_VIRTUALENV=0
SSL_CERT_FILE=<APPLAUNCHER_SETTINGS_DIR>/../share/Colada-4.13/Slicer.crt
HDF5_USE_FILE_LOCKING=FALSE
PYTHONHOME=<APPLAUNCHER_SETTINGS_DIR>/../lib/Python
PYTHONNOUSERSITE=1
PROJ_LIB=<APPLAUNCHER_SETTINGS_DIR>/../share/proj
GDAL_DATA=<APPLAUNCHER_SETTINGS_DIR>/../share/gdal



[QT_PLUGIN_PATH]
1\path=<APPLAUNCHER_SETTINGS_DIR>/../lib/QtPlugins
size=1

[PYTHONPATH]
1\path=<APPLAUNCHER_SETTINGS_DIR>/../lib/Colada-4.13
2\path=<APPLAUNCHER_SETTINGS_DIR>/../lib/Colada-4.13/qt-scripted-modules
3\path=<APPLAUNCHER_SETTINGS_DIR>/../lib/Colada-4.13/qt-loadable-modules
4\path=<APPLAUNCHER_SETTINGS_DIR>/../lib/vtkTeem
5\path=<APPLAUNCHER_SETTINGS_DIR>/../bin/Python
6\path=<APPLAUNCHER_SETTINGS_DIR>/../lib/Colada-4.13/qt-loadable-modules/Python
7\path=<APPLAUNCHER_SETTINGS_DIR>/../lib/Python/lib/python3.9
8\path=<APPLAUNCHER_SETTINGS_DIR>/../lib/Python/lib/python3.9/lib-dynload
9\path=<APPLAUNCHER_SETTINGS_DIR>/../lib/Python/lib/python3.9/site-packages
10\path=<APPLAUNCHER_SETTINGS_DIR>/../lib/python3.9/site-packages
size=10

There are two completely independent components, the jupyter server and the kernel.

The jupyter kernel is just Slicer started with a special command-line argument (that contains the connection file). The jupyter server knows about the Slicer kernel if the kernelspec file is registered into it. This part seems to work well.

The jupyter server can be any Python environment, requires pip installing and running jupyterlab (and a few extras if you want to have widgets). It is convenient if you don’t need to install another Python environment, that’s they the JupyterKernel Slicer modules uses Slicer’s Python environment for this. It seems that installation of JupyterLab fails or it is not found or not started correctly.

Maybe you could start everything from scratch, and then don’t try to automatically set up Jupyter using JupyterKernel Slicer module but instead install manually using slicer.util.pip_install("jupyter jupyterlab ipywidgets pandas ipyevents ipycanvas --no-warn-script-location") and see it you get any errors.

1 Like

Thank you for clarification,

I think I have found something:

I ran the command ./PythonSlicer -m jupyter --paths from build tree (from build tree I can launch jupyter) and from install tree (after using cpack).

In build tree I get:

config:
    /home/kerim/.jupyter
    /home/kerim/Documents/Colada/r/python-install/etc/jupyter
    /usr/local/etc/jupyter
    /etc/jupyter
data:
    /home/kerim/.local/share/jupyter
    /home/kerim/Documents/Colada/r/python-install/share/jupyter
    /usr/local/share/jupyter
    /usr/share/jupyter
runtime:
    /home/kerim/.local/share/jupyter/runtime

All the paths from build tree exist.

And from install tree i get:

config:
    /home/kerim/.jupyter
    /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/bin/../lib/Python/etc/jupyter    # 'etc' doesn't exist
    /usr/local/etc/jupyter
    /etc/jupyter
data:
    /home/kerim/.local/share/jupyter
    /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/bin/../lib/Python/share/jupyter    # 'share' doesn't exist
    /usr/local/share/jupyter
    /usr/share/jupyter
runtime:
    /home/kerim/.local/share/jupyter/runtime

In build tree etc and share folders don’t exist. I think that may be the reason.

If you know how to control these path please let me know.
For now I have a lack of knowledge of how the Jupyter staff is managed. I look in source code but have no luck yet.

Also the command ./PythonSlicer -m jupyter --help from build tree shows:

Available subcommands: bundlerextension console dejavu execute kernel kernelspec lab labextension labhub migrate nbclassic nbconvert nbextension notebook qtconsole run
server serverextension troubleshoot trust

and from install tree:

Available subcommands: kernel kernelspec migrate run troubleshoot trust

I just uninstalled these packages using the command./PythonSlicer -m pip uninstall jupyter jupyterlab ipywidgets pandas ipyevents ipycanvas -y
andafter that I installed them back ./PythonSlicer -m pip install jupyter jupyterlab ipywidgets pandas ipyevents ipycanvas

After that I’m able to run JupyterSlicer.
Here is the output of that command and it seems there is no any errors:

./PythonSlicer -m pip install jupyter jupyterlab ipywidgets pandas ipyevents ipycanvas
Collecting jupyter
  Using cached jupyter-1.0.0-py2.py3-none-any.whl (2.7 kB)
Collecting jupyterlab
  Using cached jupyterlab-3.3.4-py3-none-any.whl (8.7 MB)
Collecting ipywidgets
  Using cached ipywidgets-7.7.0-py2.py3-none-any.whl (123 kB)
Collecting pandas
  Using cached pandas-1.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.7 MB)
Collecting ipyevents
  Using cached ipyevents-2.0.1-py2.py3-none-any.whl (130 kB)
Collecting ipycanvas
  Using cached ipycanvas-0.11.0-py2.py3-none-any.whl (255 kB)
Requirement already satisfied: nbconvert in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jupyter) (6.5.0)
Requirement already satisfied: notebook in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jupyter) (6.4.10)
Requirement already satisfied: ipykernel in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jupyter) (6.13.0)
Requirement already satisfied: qtconsole in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jupyter) (5.3.0)
Requirement already satisfied: jupyter-console in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jupyter) (6.4.3)
Requirement already satisfied: nbclassic~=0.2 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jupyterlab) (0.3.7)
Requirement already satisfied: jinja2>=2.1 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jupyterlab) (3.1.1)
Requirement already satisfied: tornado>=6.1.0 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jupyterlab) (6.1)
Requirement already satisfied: ipython in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jupyterlab) (8.2.0)
Requirement already satisfied: jupyter-core in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jupyterlab) (4.9.2)
Requirement already satisfied: packaging in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jupyterlab) (21.3)
Requirement already satisfied: jupyter-server~=1.4 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jupyterlab) (1.16.0)
Requirement already satisfied: jupyterlab-server~=2.10 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jupyterlab) (2.12.0)
Requirement already satisfied: nbformat>=4.2.0 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from ipywidgets) (5.3.0)
Requirement already satisfied: jupyterlab-widgets>=1.0.0 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from ipywidgets) (1.1.0)
Requirement already satisfied: traitlets>=4.3.1 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from ipywidgets) (5.1.1)
Requirement already satisfied: widgetsnbextension~=3.6.0 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from ipywidgets) (3.6.0)
Requirement already satisfied: ipython-genutils~=0.2.0 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from ipywidgets) (0.2.0)
Requirement already satisfied: pytz>=2020.1 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from pandas) (2022.1)
Requirement already satisfied: numpy>=1.18.5 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from pandas) (1.22.1)
Requirement already satisfied: python-dateutil>=2.8.1 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from pandas) (2.8.2)
Requirement already satisfied: pillow>=6.0 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from ipycanvas) (9.0.1)
Requirement already satisfied: jupyter-client>=6.1.12 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from ipykernel->jupyter) (7.2.2)
Requirement already satisfied: matplotlib-inline>=0.1 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from ipykernel->jupyter) (0.1.3)
Requirement already satisfied: psutil in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from ipykernel->jupyter) (5.9.0)
Requirement already satisfied: debugpy>=1.0 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from ipykernel->jupyter) (1.6.0)
Requirement already satisfied: nest-asyncio in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from ipykernel->jupyter) (1.5.5)
Requirement already satisfied: backcall in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from ipython->jupyterlab) (0.2.0)
Requirement already satisfied: pickleshare in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from ipython->jupyterlab) (0.7.5)
Requirement already satisfied: decorator in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from ipython->jupyterlab) (5.1.1)
Requirement already satisfied: setuptools>=18.5 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from ipython->jupyterlab) (60.9.3)
Requirement already satisfied: jedi>=0.16 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from ipython->jupyterlab) (0.18.1)
Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from ipython->jupyterlab) (3.0.29)
Requirement already satisfied: stack-data in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from ipython->jupyterlab) (0.2.0)
Requirement already satisfied: pexpect>4.3 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from ipython->jupyterlab) (4.8.0)
Requirement already satisfied: pygments>=2.4.0 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from ipython->jupyterlab) (2.11.2)
Requirement already satisfied: MarkupSafe>=2.0 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jinja2>=2.1->jupyterlab) (2.1.1)
Requirement already satisfied: terminado>=0.8.3 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jupyter-server~=1.4->jupyterlab) (0.13.3)
Requirement already satisfied: Send2Trash in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jupyter-server~=1.4->jupyterlab) (1.8.0)
Requirement already satisfied: pyzmq>=17 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jupyter-server~=1.4->jupyterlab) (22.3.0)
Requirement already satisfied: argon2-cffi in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/python3.9/site-packages (from jupyter-server~=1.4->jupyterlab) (20.1.0)
Requirement already satisfied: anyio>=3.1.0 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jupyter-server~=1.4->jupyterlab) (3.5.0)
Requirement already satisfied: websocket-client in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jupyter-server~=1.4->jupyterlab) (1.3.2)
Requirement already satisfied: prometheus-client in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jupyter-server~=1.4->jupyterlab) (0.14.1)
Requirement already satisfied: requests in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jupyterlab-server~=2.10->jupyterlab) (2.27.1)
Requirement already satisfied: jsonschema>=3.0.1 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jupyterlab-server~=2.10->jupyterlab) (4.4.0)
Requirement already satisfied: entrypoints>=0.2.2 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jupyterlab-server~=2.10->jupyterlab) (0.4)
Requirement already satisfied: babel in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jupyterlab-server~=2.10->jupyterlab) (2.9.1)
Requirement already satisfied: json5 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jupyterlab-server~=2.10->jupyterlab) (0.9.6)
Requirement already satisfied: notebook-shim>=0.1.0 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from nbclassic~=0.2->jupyterlab) (0.1.0)
Requirement already satisfied: jupyterlab-pygments in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from nbconvert->jupyter) (0.2.2)
Requirement already satisfied: beautifulsoup4 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from nbconvert->jupyter) (4.11.1)
Requirement already satisfied: nbclient>=0.5.0 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from nbconvert->jupyter) (0.6.0)
Requirement already satisfied: bleach in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from nbconvert->jupyter) (5.0.0)
Requirement already satisfied: mistune<2,>=0.8.1 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from nbconvert->jupyter) (0.8.4)
Requirement already satisfied: defusedxml in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from nbconvert->jupyter) (0.7.1)
Requirement already satisfied: tinycss2 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from nbconvert->jupyter) (1.1.1)
Requirement already satisfied: pandocfilters>=1.4.1 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from nbconvert->jupyter) (1.5.0)
Requirement already satisfied: fastjsonschema in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from nbformat>=4.2.0->ipywidgets) (2.15.3)
Requirement already satisfied: six>=1.5 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from python-dateutil>=2.8.1->pandas) (1.16.0)
Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from packaging->jupyterlab) (3.0.7)
Requirement already satisfied: qtpy>=2.0.1 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from qtconsole->jupyter) (2.0.1)
Requirement already satisfied: sniffio>=1.1 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from anyio>=3.1.0->jupyter-server~=1.4->jupyterlab) (1.2.0)
Requirement already satisfied: idna>=2.8 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from anyio>=3.1.0->jupyter-server~=1.4->jupyterlab) (3.3)
Requirement already satisfied: parso<0.9.0,>=0.8.0 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jedi>=0.16->ipython->jupyterlab) (0.8.3)
Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jsonschema>=3.0.1->jupyterlab-server~=2.10->jupyterlab) (0.18.1)
Requirement already satisfied: attrs>=17.4.0 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from jsonschema>=3.0.1->jupyterlab-server~=2.10->jupyterlab) (21.4.0)
Requirement already satisfied: ptyprocess>=0.5 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from pexpect>4.3->ipython->jupyterlab) (0.7.0)
Requirement already satisfied: wcwidth in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython->jupyterlab) (0.2.5)
Requirement already satisfied: cffi>=1.0.0 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from argon2-cffi->jupyter-server~=1.4->jupyterlab) (1.15.0)
Requirement already satisfied: soupsieve>1.2 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from beautifulsoup4->nbconvert->jupyter) (2.3.2.post1)
Requirement already satisfied: webencodings in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from bleach->nbconvert->jupyter) (0.5.1)
Requirement already satisfied: certifi>=2017.4.17 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from requests->jupyterlab-server~=2.10->jupyterlab) (2021.10.8)
Requirement already satisfied: charset-normalizer~=2.0.0 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from requests->jupyterlab-server~=2.10->jupyterlab) (2.0.12)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from requests->jupyterlab-server~=2.10->jupyterlab) (1.26.8)
Requirement already satisfied: asttokens in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from stack-data->ipython->jupyterlab) (2.0.5)
Requirement already satisfied: pure-eval in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from stack-data->ipython->jupyterlab) (0.2.2)
Requirement already satisfied: executing in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from stack-data->ipython->jupyterlab) (0.8.3)
Requirement already satisfied: pycparser in /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/lib/python3.9/site-packages (from cffi>=1.0.0->argon2-cffi->jupyter-server~=1.4->jupyterlab) (2.21)
Installing collected packages: pandas, ipywidgets, jupyterlab, jupyter, ipyevents, ipycanvas
  WARNING: The scripts jlpm, jupyter-lab, jupyter-labextension and jupyter-labhub are installed in '/home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/lib/Python/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed ipycanvas-0.11.0 ipyevents-2.0.1 ipywidgets-7.7.0 jupyter-1.0.0 jupyterlab-3.3.4 pandas-1.4.2

Now ./PythonSlicer -m jupyter --help tells me that Available subcommands: kernel kernelspec lab labextension labhub migrate run troubleshoot trust.
The list is still smaller that that gives me from build tree but I can run lab

The ./PythonSlicer -m jupyter --paths now show me correct path and all of them exist:

config:
    /home/kerim/.jupyter
    /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/bin/../lib/Python/etc/jupyter
    /usr/local/etc/jupyter
    /etc/jupyter
data:
    /home/kerim/.local/share/jupyter
    /home/kerim/Documents/Colada/Colada-0.1.0-2022-04-17-linux-amd64/bin/../lib/Python/share/jupyter
    /usr/local/share/jupyter
    /usr/share/jupyter
runtime:
    /home/kerim/.local/share/jupyter/runtime

If you want to distribute the Jupyter server (jupyterlab) then you can install jupyterlab along with all other Python packages here:

The problem is that Jupyter server is very large (1GB?) so if you don’t always use it then it may not worth it.

If you plan to install Jupyter server on demand then you may need to ask help from @jcfr.

1 Like

Could you please explain a little bit. Does it involves installing SlicerJupyter from Extension Manager?

Also I’m curious how to setup Extension Manager for SlicerCAT. Is there too much of work to make first “dirty” steps? If so I would postpone it but If it is pretty easy I would try it soon with SlicerJupyter.
For now Extension Manager shows nothing

The extensions infrastructure has been designed to allow private extensions servers. I remember seeing the instructions for setting up your own girder server with the required add-on to have your own private extension server (probably @jcfr wrote it, so if you cannot find it then you may ask him).

Once you have the server set up, you can configure your extension builds to upload packages to that server, and you can set the address of that server as default extension server in your custom application.

1 Like

Thank you very much!

I will try to find information on that
That is important