Clang-REPL kernel for Jupyter
Project description
Clang-Repl kernel for Jupyter
A simple Jupyter kernel for C/C++ using Clang-Repl. It works on Windows and Linux. (MacOS is not tested)
See: Clang-Repl
Please use Python 3.11 or higher. (3.12 is recommended)
-
Windows 11 python3 3.12.0 Selected Jupyter core packages... IPython : 8.16.1 ipykernel : 6.25.2 ipywidgets : not installed jupyter_client : 8.4.0 jupyter_core : 5.4.0 jupyter_server : 2.7.3 jupyterlab : 4.0.7 nbclient : 0.8.0 nbconvert : 7.9.2 nbformat : 5.9.2 notebook : 7.0.5 qtconsole : not installed traitlets : 5.11.2
-
Ubuntu 22.04 python3 3.12 IPython : 8.16.1 ipykernel : 6.25.2 ipywidgets : not installed jupyter_client : 8.4.0 jupyter_core : 5.4.0 jupyter_server : 2.7.3 jupyterlab : 4.0.7 nbclient : 0.8.0 nbconvert : 7.9.2 nbformat : 5.9.2 notebook : 7.0.5 qtconsole : not installed traitlets : 5.11.2
See: How to Install Python 3.12 on Ubuntu 22.04 - LinuxTuto See: Setting the Default python to python3 | Baeldung on Linux
CAUTION
currently windows printf() not working. (It will be fixed soon). please use cout instead of printf().
Trouble shot
When you see
/usr/include/stdio.h:33:10: fatal error: 'stddef.h' file not found
33 | #include <stddef.h>
| ^~~~~~~~~~
Segmentation fault
put path include 'stddef.h' file like and uninstall and reinstall clang-repl-kernel (You need to change llvm-18 to your llvm)
export CPLUS_INCLUDE_PATH=/usr/lib/llvm-18/lib/clang/18/include/
pip uninstall clang_repl_kernel
pip install clang_repl_kernel
When you see
ModuleNotFoundError: No module named 'ipykernel'
Use venv or conda environment and install notebook
python -m venv venv
source venv/bin/activate
pip install notebook
pip -r requirements.txt
From Pip to install
To install clang_repl_kernel from pip into the active Python environment
pip install clang_repl_kernel
From Git using Conda
To install clang_repl_kernel from git into a Conda environment
git clone https://github.com/ormastes/jupyter_kernels/clang_repl_kernel.git
cd clang_repl_kernel
conda create -n ker jupyter
conda activate ker
pip install .
Using the Clang-Repl kernel
Notebook: The File > New > Notebook menu in the notebook should show an Kernel Selection for the notebook. Select kernel ''Clang-Repl (C++xx)'' to start a new notebook. (XX is the version of C++ you want to use)
Console frontends: To use it with the console frontends, add --kernel clang_repl_cppXX to their command line arguments.
(XX is the version of C++ you want to use)
It fully checked on Windows 11 with clang 18.0.0, Python 3.11.5 and notebook 7.0.4. It fully checked on Ubuntu 20.04 with build_essential, clang 18.0.0, Python 3.10.22 and notebook 7.0.4.
Install default toolkit for cdoctest
run next command after install clang_repl_kernel
python -m clang_repl_kernel --install-default-toolchain
Reference
https://github.com/jupyter/echo_kernel https://saturncloud.io/blog/how-to-add-a-python-3-kernel-to-jupyter-ipython/ https://github.com/takluyver/bash_kernel
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file clang_repl_kernel-1.6.27.tar.gz.
File metadata
- Download URL: clang_repl_kernel-1.6.27.tar.gz
- Upload date:
- Size: 22.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
afbcceb43f0057af479f3f1d92f826885152c547102391761e7f1220b3ca823f
|
|
| MD5 |
593b43ef28506d4a20e7b864aeb83df6
|
|
| BLAKE2b-256 |
f586f4bf71c9dc292b14d62367a09c2c5fb9c52efe85cfc2d49d296057fffa3f
|
File details
Details for the file clang_repl_kernel-1.6.27-py3-none-any.whl.
File metadata
- Download URL: clang_repl_kernel-1.6.27-py3-none-any.whl
- Upload date:
- Size: 37.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
065ae7abacde2af5b221cf91ba3818fdb27c8a5ad0aa70697320461eb4b362fd
|
|
| MD5 |
5a8dd6b9d28046d9014871fe04f74dcd
|
|
| BLAKE2b-256 |
c7c3ed5776ef40fc74e624a7b54926a4aca2b99a0135e627e0fbd3792785eb50
|