octave_kernel icon indicating copy to clipboard operation
octave_kernel copied to clipboard

How to use QT as toolkit for octave?

Open BigFlagBurito opened this issue 6 months ago • 4 comments

Hello,

I would like to make Octave available for my users in JupyterHub. I have received feedback from users that they are getting the following warning: warning: using the gnuplot graphics toolkit is discouraged .... The qt toolkit is recommended instead.

This is my first time using Octave and this kernel and I can't get qt to be recognised even though it is successfully recognised when Octave is build. So I don't know if I'm making a mistake with the building or if I need to config the kernel somehow. I hope I've come to the right place and you can help me. Many thanks in advance.

I use quay.io/jupyter/minimal-notebook:hub-4.1.5 as the base image and have added the contents of the scipy and datascience images. Dockerfile


SHELL ["/bin/bash", "-o", "pipefail", "-c"]

# https://wiki.octave.org/Octave_for_Debian_systems
USER root
RUN apt-get update --yes && \
    apt-get install --yes --no-install-recommends gcc g++ autoconf automake bison dvipng epstool fig2dev flex gfortran gnuplot-x11 gperf gzip icoutils libarpack2-dev libopenblas-dev libcurl4-gnutls-dev libfftw3-dev libfltk1.3-dev libfontconfig1-dev libfreetype-dev libgl1-mesa-dev libgl2ps-dev libglpk-dev libgraphicsmagick++1-dev libhdf5-dev liblapack-dev libosmesa6-dev libpcre2-dev libqhull-dev libqscintilla2-qt5-dev libqrupdate-dev libreadline-dev librsvg2-bin libsndfile1-dev libsuitesparse-dev libsundials-dev libtool libxft-dev make openjdk-11-jdk perl portaudio19-dev pstoedit qtbase5-dev qttools5-dev qttools5-dev-tools libqt5opengl5-dev rapidjson-dev rsync tar texinfo texlive-latex-extra zlib1g-dev && \
    apt-get clean && rm -rf /var/lib/apt/lists/*

# Install Octave
ARG OCTAVE_VERSION=10.2.0
ARG GNU_MIRROR=https://ftpmirror.gnu.org/octave
RUN mkdir -p /tmp/build  \
    && cd    /tmp/build  \
    && wget -q "${GNU_MIRROR}/octave-${OCTAVE_VERSION}.tar.gz"  \
    && tar -xf octave-${OCTAVE_VERSION}.tar.gz     \
    && cd      octave-${OCTAVE_VERSION}            \
    && ./configure   \
    && make -j8      \
    && make install  \
    && rm -rf /tmp/build

ENV OCTAVE_EXECUTABLE=/usr/local/bin/octave
RUN printf "\nc.OctaveKernel.plot_settings = dict(backend='qt')\n" >> /etc/jupyter/jupyter_notebook_config.py


USER ${NB_UID}

RUN pip install --no-cache-dir octave_kernel

RUN fix-permissions ${CONDA_DIR} && \
    fix-permissions /home/${NB_USER} \

BigFlagBurito avatar Jul 28 '25 14:07 BigFlagBurito