Jupyter Notebook + Scilab kernel

Bonjour,
Jupyter notebook est très souvent utilisé pour Python mais il existe également pour Scilab en installant scilab-kernel comme indiqué ici
https://github.com/Calysto/scilab_kernel
Pour ma part, j'ai fait un : pip3 install scilab_kernel

Sur mon PC Debian-buster, je n'ai pas installé Scilab via les dépôts car j'ai un bug pour Scinotes, mais pas en ligne de commande, j'ai pris directement le tar sur le site officiel.

Ensuite, dans mon ~/.bashrc j'ai ajouté
export SCILAB_EXECUTABLE=/media/travail/Xavier/scilab-6.1.0/bin/scilab-adv-cli pour répondre à ceci :

You can specify the path to your Scilab executable by creating a SCILAB_EXECUTABLE environmental variable. Use the scilab-adv-cli executable if using a Posix-like OS

Quand j'ouvre jupyter, j'ai bien possibilité d'ouvrir un nouveau notebook Scilab mais la connexion au noyau ne se fait pas.

Quand je demande dans un terminal
python3 -m scilab_kernel.check
il me répond :
Scilab kernel v0.9.10
Metakernel v0.24.4
Python v3.7.3 (default, Dec 20 2019, 18:57:59)
[GCC 8.3.0]
Python path: /usr/bin/python3

Connecting to Scilab...
Scilab connection established
Scilab version "6.1.0.1582621796"
scilab-6.1.0

Le paragraphe que je ne comprends pas est :
_The kernel can be configured by adding an scilab_kernel_config.py file to the jupyter config path. The ScilabKernel class offers plot_settings as a configurable traits. The available plot settings are: 'format', 'backend', 'width', 'height', and 'resolution'.

cat ~/.jupyter/scilab_kernel_config.py
c.ScilabKernel.plot_settings = dict(format='svg')_

sachant que je ne trouve pas de fichier scilab_kernel_config.py sur mon pc.

Pour info, qd je lance dans le terminal jupyter kernelspec list, il me répond :
Error executing Jupyter command 'kernelspec': [Errno 2] No such file or directory

Des idées pour résoudre mon souci ?

Bon dimanche

Réponses

  • Tu dois créer un fichier ~/.jupyter/scilab_kernel_config.py contenant c.ScilabKernel.plot_settings = dict(format='svg')_

    C'est ce que je comprends.

  • OK mais faut déjà que j'arrive à lancer le noyau scilab

    J'ai progressé. Qd je lance dans un terminal jupyter kernelspec list
    J'ai :
    Available kernels:
    scilab /home/xavier/.local/share/jupyter/kernels/scilab
    python3 /usr/share/jupyter/kernels/python3

    Le problème pour scilab, dans le répertoire dans mon home, j'ai un fichier
    kernel.json contenant

    {
    "argv": ["python",
    "-m", "scilab_kernel",
    "-f", "{connection_file}"],
    "display_name": "Scilab",
    "language": "scilab",
    "mimetype": "text/x-octave",
    "name": "scilab"
    }

    Et je pense que c'est là qu'il faudrait que je vois apparaître le scilab-adv-cli du répertoire /media/travail/Xavier/scilab-6.1.0/bin/, non ?

  • Tu peux essayer de télécharger un notebook prévu pour marcher avec Scilab_kernel comme ça puis de l'ouvrir avec jupyter.
    Sinon, vu les différences de chemin entre le noyau python et le noyau Scilab, tu n'aurais pas installer jupyter avec un sudo et Scilab en user ?
    Ça pourrait expliquer la difficulté des 2 à communiquer.

  • Python a été installé directement via synaptic.
    Pour Scilab, celui des dépôts debian ne fonctionne pas. Donc j'ai téléchargé le fichier tar directement sur le site officiel, l'ai décompressé dans le répertoire nommé ci dessus et je lance directement ./bin/scilab,

    comme je l'avais dit ici il y a peu
    https://cyrille-borne.com/forum/discussion/comment/16336#Comment_16336

  • @xavier a dit :
    Available kernels:
    scilab /home/xavier/.local/share/jupyter/kernels/scilab

    donc uniquement dans ton espace

    python3 /usr/share/jupyter/kernels/python3

    donc partagé avec tous les utilisateurs.

    Peut-être qu'il faut installer la noyau scilab avec sudo.
    sudo pip3 install scilab_kernel pour que son installation se fasse dans le même espace que jupyter.

    Chez moi jupyter a été installé en local, donc sans sudo avec pip3 install jupyterlab
    Il faut alors modifier le PATH pour qu'il contienne un chemin indiqué par un message au cours de l'installation.
    Je viens d'installer le noyau scilab avec pip3 install scilab_kernel et ça a fonctionné du premier coup.

  • Bonjour,
    Pourtant je l'ai bien installé en sudo. Je vais reprendre ça calmement et tranquillement.
    Sinon, je n'ai pas installé jupyterlab mais directement les paquets jupyter des dépôts debian.
    Je lance jupyter par la commande jupyter-notebook

  • Tu as u message d'erreur dans la console jupyter en lançant le kernel scilab ?
    J'utilise perso la version pip3 de jupyter.

  • J'ai repris. j'ai installé en sudo pip3 install scilab_kernel
    Et ça ne voulait toujours pas fonctionner : le notebook me répondait
    _La connexion au serveur de notebook ne peut pas être établie. Le notebook va continuer ses tentatives. Vérifiez votre connexion réseau ou les paramètres du serveur de notebook

    Alors, j'ai réessayé d’installer la version de Scilab des dépôts debian et là, ça fonctionne nickel. Déjà la version Scilab des dépôts a dû être corrigée car j'avais un souci pour lancer l'éditeur scinotes la dernière fois que j'avais voulu l’installer et là tout fonctionne : scilab dans l'éditeur et le notebook avec le noyau scilab.

    Ce qui ne va pas à mon avis, c’est que le notebook n'arrive pas à faire le lien avec mon exécutable pour scilab qui est ici /media/travail/Xavier/scilab-6.1.0/bin/
    C'est donc résolu mais j’aimerais bien arriver à faire ce foutu lien avec mon exécutable qui est chez moi est non celui installé par le système dans /usr/bin

    A suivre

  • 12 mai modifié

    Fais un simple lien symbolique : ln -s /usr/bin/SCILAB-TRUC /media/travail/.....MACHIN

  • Oui Arnaud, c'est ce que j'ai fait finalement. C'est radical et ça fonctionne. Merci.

    Juste une remarque la syntaxe de ln est dans l'autre sens : ln -s /media/travail/.../scilab-adv-cli /usr/bin/scilab-adv-cli

  • Me plante à chaque fois :)
    Entre ln et tar, ça râte à 100%.

  • Je suis également incapable de me souvenir de l'ordre de ces commandes.
    Pour y pallier, une seule commande, tldr, disponible dans le paquet éponyme.

  • 13 mai modifié

    Ou un essai et on lit le résultat de la commande :)
    Merci philgra pour tldr.

Connectez-vous ou Inscrivez-vous pour répondre.