Skip to content

0.5.8 breaks ipywidgets display on "windows server 2019" #1512

@jmrouet

Description

@jmrouet

Description

on a windows server 2019 computer I have the following issue:

using pip install voila==0.5.8 ipywidgets jupyterlab

a simple notebook test.ipynb with a single following cell;

import ipywidgets
ipywidgets.IntSlider(value=2, min=1, max=10)

just displays text

image

while running in jupyter-lab it works
image

Note that downgrading to voila==0.5.7 the voila rendering is fine, so the issue is really recent (again, for windows server 2019)

Reproduce

  1. create a fresh environment (py3.12.4)
  2. activate the environment
  3. pip install voila==0.5.8 ipywidgets jupyterlab
  4. run voila --debug test.ipynb
  5. in the browser we only see a textual version of the widget.

Expected behavior

expected to see the slider widget, not a text with the slider creation code

Context

  • voila version 0.5.8
  • Operating System and version: Windows Server 2019 Standard (ver 1809)
  • Browser and version: Chrome Version 131.0.6778.109 (Official Build) (64-bit)
Troubleshoot Output
$PATH:
        C:\Users\frq09324\Documents\src\py312\Scripts
        C:\Program Files (x86)\Common Files\Oracle\Java\javapath
        C:\windows\system32
        C:\windows
        C:\windows\System32\Wbem
        C:\windows\System32\WindowsPowerShell\v1.0\
        C:\windows\System32\OpenSSH\
        C:\Program Files\Microsoft SQL Server\130\Tools\Binn\
        C:\Program Files\CMake\bin
        C:\ITK5.3rc03\build
        C:\ITK5.3rc03\source\Modules\Nonunit\Review\include
        C:\OpenCV4.5.5\build
        C:\Program Files\Git\cmd
        C:\Program Files\Java\jre-1.8\bin
        C:\Program Files\AzureConnectedMachineAgent\
        C:\Users\frq09324\AppData\Local\Microsoft\WindowsApps
        C:\Users\frq09324\AppData\Local\Programs\Microsoft VS Code\bin

sys.path:
C:\Users\frq09324\Documents\src\py312\Scripts\jupyter-troubleshoot.EXE
C:\Users\frq09324\Downloads\WPy64-31241\python-3.12.4.amd64\python312.zip
C:\Users\frq09324\Downloads\WPy64-31241\python-3.12.4.amd64\DLLs
C:\Users\frq09324\Downloads\WPy64-31241\python-3.12.4.amd64\Lib
C:\Users\frq09324\Downloads\WPy64-31241\python-3.12.4.amd64
C:\Users\frq09324\Documents\src\py312
C:\Users\frq09324\Documents\src\py312\Lib\site-packages
C:\Users\frq09324\Documents\src\py312\Lib\site-packages\win32
C:\Users\frq09324\Documents\src\py312\Lib\site-packages\win32\lib
C:\Users\frq09324\Documents\src\py312\Lib\site-packages\Pythonwin

sys.executable:
C:\Users\frq09324\Documents\src\py312\Scripts\python.exe

sys.version:
3.12.4 (tags/v3.12.4:8e8a4ba, Jun 6 2024, 19:30:16) [MSC v.1940 64 bit (AMD64)]

platform.platform():
Windows-2019Server-10.0.17763-SP0

where jupyter:
C:\Users\frq09324\Documents\src\py312\Scripts\jupyter.exe

pip list:
Package Version
------------------------- --------------
anyio 4.7.0
argon2-cffi 23.1.0
argon2-cffi-bindings 21.2.0
arrow 1.3.0
asttokens 3.0.0
async-lru 2.0.4
attrs 24.2.0
babel 2.16.0
beautifulsoup4 4.12.3
bleach 6.2.0
certifi 2024.8.30
cffi 1.17.1
charset-normalizer 3.4.0
colorama 0.4.6
comm 0.2.2
debugpy 1.8.9
decorator 5.1.1
defusedxml 0.7.1
executing 2.1.0
fastjsonschema 2.21.1
fqdn 1.5.1
h11 0.14.0
httpcore 1.0.7
httpx 0.28.0
idna 3.10
ipykernel 6.29.5
ipython 8.30.0
ipywidgets 8.1.5
isoduration 20.11.0
jedi 0.19.2
Jinja2 3.1.4
json5 0.10.0
jsonpointer 3.0.0
jsonschema 4.23.0
jsonschema-specifications 2024.10.1
jupyter_client 8.6.3
jupyter_core 5.7.2
jupyter-events 0.10.0
jupyter-lsp 2.2.5
jupyter_server 2.14.2
jupyter_server_terminals 0.5.3
jupyterlab 4.3.2
jupyterlab_pygments 0.3.0
jupyterlab_server 2.27.3
jupyterlab_widgets 3.0.13
MarkupSafe 3.0.2
matplotlib-inline 0.1.7
mistune 3.0.2
nbclient 0.10.1
nbconvert 7.16.4
nbformat 5.10.4
nest-asyncio 1.6.0
notebook_shim 0.2.4
overrides 7.7.0
packaging 24.2
pandocfilters 1.5.1
parso 0.8.4
pip 24.3.1
platformdirs 4.3.6
prometheus_client 0.21.1
prompt_toolkit 3.0.48
psutil 6.1.0
pure_eval 0.2.3
pycparser 2.22
Pygments 2.18.0
python-dateutil 2.9.0.post0
python-json-logger 2.0.7
pywin32 308
pywinpty 2.0.14
PyYAML 6.0.2
pyzmq 26.2.0
referencing 0.35.1
requests 2.32.3
rfc3339-validator 0.1.4
rfc3986-validator 0.1.1
rpds-py 0.22.3
Send2Trash 1.8.3
setuptools 75.6.0
six 1.17.0
sniffio 1.3.1
soupsieve 2.6
stack-data 0.6.3
terminado 0.18.1
tinycss2 1.4.0
tornado 6.4.2
traitlets 5.14.3
types-python-dateutil 2.9.0.20241003
typing_extensions 4.12.2
uri-template 1.3.0
urllib3 2.2.3
voila 0.5.8
wcwidth 0.2.13
webcolors 24.11.1
webencodings 0.5.1
websocket-client 1.8.0
websockets 14.1
widgetsnbextension 4.0.13

Command Line Output
(py312) C:\Users\frq09324\Documents\src>voila --debug Test.ipynb
[Voila] Looking for voila in C:\ProgramData\jupyter
[Voila] Looking for voila in C:\Users\frq09324\.jupyter
[Voila] Looking for voila in C:\Users\frq09324\Documents\src\py312\etc\jupyter
[Voila] Looking for voila in C:\Users\frq09324\Documents\src
[Voila] using template: lab
[Voila] template paths:
        C:\Users\frq09324\Documents\src\py312\share\jupyter\voila\templates\lab
        C:\Users\frq09324\Documents\src\py312\share\jupyter\nbconvert\templates\lab
        C:\Users\frq09324\Documents\src\py312\share\jupyter\voila\templates\base
        C:\Users\frq09324\Documents\src\py312\share\jupyter\nbconvert\templates\base
        C:\Users\frq09324\Documents\src\py312\share\jupyter
        C:\Users\frq09324\Documents\src\py312\share\jupyter\voila\templates
        C:\Users\frq09324\Documents\src\py312\share\jupyter\nbconvert\templates
        C:\Users\frq09324\AppData\Roaming\jupyter
        C:\Users\frq09324\AppData\Roaming\jupyter\voila\templates
        C:\Users\frq09324\AppData\Roaming\jupyter\nbconvert\templates
        C:\ProgramData\jupyter
        C:\ProgramData\jupyter\voila\templates
        C:\ProgramData\jupyter\nbconvert\templates
[Voila] static paths:
        C:\Users\frq09324\Documents\src\py312\share\jupyter\voila\templates\lab\static
        C:\Users\frq09324\Documents\src\py312\share\jupyter\nbconvert\templates\lab\static
        C:\Users\frq09324\AppData\Roaming\jupyter\voila\templates\lab\static
        C:\Users\frq09324\AppData\Roaming\jupyter\nbconvert\templates\lab\static
        C:\ProgramData\jupyter\voila\templates\lab\static
        C:\ProgramData\jupyter\nbconvert\templates\lab\static
        C:\Users\frq09324\Documents\src\py312\share\jupyter\voila\templates\base\static
        C:\Users\frq09324\Documents\src\py312\share\jupyter\nbconvert\templates\base\static
        C:\Users\frq09324\AppData\Roaming\jupyter\voila\templates\base\static
        C:\Users\frq09324\AppData\Roaming\jupyter\nbconvert\templates\base\static
        C:\ProgramData\jupyter\voila\templates\base\static
        C:\ProgramData\jupyter\nbconvert\templates\base\static
        C:\Users\frq09324\Documents\src\py312\Lib\site-packages\jupyter_server\static
[Voila] Using C:\Users\frq09324\AppData\Local\Temp\6 to store connection files
[Voila] Storing connection files in C:\Users\frq09324\AppData\Local\Temp\6\voila_ahxvch5u.
[Voila] Serving static files from C:\Users\frq09324\Documents\src\py312\Lib\site-packages\voila\static.
[Voila] Voilà is running at:
http://localhost:8866/
[Voila] WARNING | Clearing invalid/expired login cookie username-localhost-8866
[Voila] Generating new user for token-authenticated request: 92cc766cfea64131a9ae2bf0caf18638
[Voila] Paths used for configuration of page_config:
        C:\ProgramData\jupyter\labconfig\page_config.json
[Voila] Paths used for configuration of page_config:
        C:\Users\frq09324\.jupyter\labconfig\page_config.json
[Voila] Paths used for configuration of page_config:
        C:\Users\frq09324\Documents\src\py312\etc\jupyter\labconfig\page_config.json
[Voila] Found kernel python3 in C:\Users\frq09324\Documents\src\py312\share\jupyter\kernels
[Voila] Instantiating kernel 'Python 3 (ipykernel)' with kernel provisioner: local-provisioner
[Voila] Starting kernel: ['C:\\Users\\frq09324\\Documents\\src\\py312\\Scripts\\python.exe', '-m', 'ipykernel_launcher', '-f', 'C:\\Users\\frq09324\\AppData\\Local\\Temp\\6\\voila_ahxvch5u\\kernel-f829f5d4-3a81-4e18-8786-6f8026662d7c.json'][Voila] Connecting to: tcp://127.0.0.1:53356
[Voila] Connecting to: tcp://127.0.0.1:53353
[Voila] Kernel started: f829f5d4-3a81-4e18-8786-6f8026662d7c
[Voila] Kernel args (excluding env): {'kernel_name': 'python3', 'cwd': 'C:\\Users\\frq09324\\Documents\\src'}
[Voila] Kernel argument 'env' passed with: ['ALLUSERSPROFILE', 'APPDATA', 'CLIENTNAME', 'COMMONPROGRAMFILES', 'COMMONPROGRAMFILES(X86)', 'COMMONPROGRAMW6432', 'COMPUTERNAME', 'COMSPEC', 'DRIVERDATA', 'HOMEDRIVE', 'HOMEPATH', 'IDENTITY_ENDPOINT', 'IMDS_ENDPOINT', 'JAVA_TOOL_OPTIONS', 'JDK_JAVA_OPTIONS', 'LOCALAPPDATA', 'LOGONSERVER', 'NUMBER_OF_PROCESSORS', 'OS', 'PATH', 'PATHEXT', 'PROCESSOR_ARCHITECTURE', 'PROCESSOR_IDENTIFIER', 'PROCESSOR_LEVEL', 'PROCESSOR_REVISION', 'PROGRAMDATA', 'PROGRAMFILES', 'PROGRAMFILES(X86)', 'PROGRAMW6432', 'PROMPT', 'PSMODULEPATH', 'PUBLIC', 'SDEBIN', 'SESSIONNAME', 'SYSTEMDRIVE', 'SYSTEMROOT', 'TEMP', 'TMP', 'UATDATA', 'USERDNSDOMAIN', 'USERDOMAIN', 'USERDOMAIN_ROAMINGPROFILE', 'USERNAME', 'USERPROFILE', 'VIRTUAL_ENV', 'VIRTUAL_ENV_PROMPT', 'WINDIR', '_JAVA_OPTIONS', '_OLD_VIRTUAL_PATH', '_OLD_VIRTUAL_PROMPT', , , , , , , , , , , , ]
[Voila] Template paths:
        C:\Users\frq09324\Documents\src\py312\share\jupyter\voila\templates\lab
        C:\Users\frq09324\Documents\src\py312\share\jupyter\nbconvert\templates\lab
        C:\Users\frq09324\Documents\src\py312\share\jupyter\voila\templates\base
        C:\Users\frq09324\Documents\src\py312\share\jupyter\nbconvert\templates\base
        C:\Users\frq09324\Documents\src\py312\share\jupyter
        C:\Users\frq09324\Documents\src\py312\share\jupyter\voila\templates
        C:\Users\frq09324\Documents\src\py312\share\jupyter\nbconvert\templates
        C:\Users\frq09324\AppData\Roaming\jupyter
        C:\Users\frq09324\AppData\Roaming\jupyter\voila\templates
        C:\Users\frq09324\AppData\Roaming\jupyter\nbconvert\templates
        C:\ProgramData\jupyter
        C:\ProgramData\jupyter\voila\templates
        C:\ProgramData\jupyter\nbconvert\templates
[Voila] Applying preprocessor: TagRemovePreprocessor
[Voila] Applying preprocessor: RegexRemovePreprocessor
[Voila] Applying preprocessor: HighlightMagicsPreprocessor
[Voila] Applying preprocessor: CSSHTMLHeaderPreprocessor
[Voila] Attempting to load template index.html.j2
[Voila]     template_paths: C:\Users\frq09324\Documents\src\py312\share\jupyter\voila\templates\lab;C:\Users\frq09324\Documents\src\py312\share\jupyter\nbconvert\templates\lab;C:\Users\frq09324\Documents\src\py312\share\jupyter\voila\templates\base;C:\Users\frq09324\Documents\src\py312\share\jupyter\nbconvert\templates\base;C:\Users\frq09324\Documents\src\py312\share\jupyter;C:\Users\frq09324\Documents\src\py312\share\jupyter\voila\templates;C:\Users\frq09324\Documents\src\py312\share\jupyter\nbconvert\templates;C:\Users\frq09324\AppData\Roaming\jupyter;C:\Users\frq09324\AppData\Roaming\jupyter\voila\templates;C:\Users\frq09324\AppData\Roaming\jupyter\nbconvert\templates;C:\ProgramData\jupyter;C:\ProgramData\jupyter\voila\templates;C:\ProgramData\jupyter\nbconvert\templates
[Voila] connecting iopub channel to tcp://127.0.0.1:53353
[Voila] Connecting to: tcp://127.0.0.1:53353
[Voila] connecting shell channel to tcp://127.0.0.1:53352
[Voila] Connecting to: tcp://127.0.0.1:53352
[Voila] connecting stdin channel to tcp://127.0.0.1:53354
[Voila] Connecting to: tcp://127.0.0.1:53354
[Voila] connecting heartbeat channel to tcp://127.0.0.1:53355
[Voila] connecting control channel to tcp://127.0.0.1:53356
[Voila] Connecting to: tcp://127.0.0.1:53356
[Voila] activity on f829f5d4-3a81-4e18-8786-6f8026662d7c: stream
[Voila] activity on f829f5d4-3a81-4e18-8786-6f8026662d7c: stream
[Voila] activity on f829f5d4-3a81-4e18-8786-6f8026662d7c: stream
[Voila] activity on f829f5d4-3a81-4e18-8786-6f8026662d7c: stream
[Voila] activity on f829f5d4-3a81-4e18-8786-6f8026662d7c: status (starting)
[Voila] activity on f829f5d4-3a81-4e18-8786-6f8026662d7c: status (busy)
[Voila] activity on f829f5d4-3a81-4e18-8786-6f8026662d7c: status (idle)
[Voila] Executing cell:
import ipywidgets as wd
wd.IntSlider(value=2,min=1,max=10)
[Voila] activity on f829f5d4-3a81-4e18-8786-6f8026662d7c: status (busy)
[Voila] activity on f829f5d4-3a81-4e18-8786-6f8026662d7c: execute_input
[Voila] activity on f829f5d4-3a81-4e18-8786-6f8026662d7c: status (idle)
[Voila] activity on f829f5d4-3a81-4e18-8786-6f8026662d7c: status (busy)
[Voila] msg_type: status
[Voila] content: {'execution_state': 'busy'}
[Voila] activity on f829f5d4-3a81-4e18-8786-6f8026662d7c: execute_input
[Voila] msg_type: execute_input
[Voila] content: {'code': 'import ipywidgets as wd\nwd.IntSlider(value=2,min=1,max=10)', 'execution_count': 1}
[Voila] activity on f829f5d4-3a81-4e18-8786-6f8026662d7c: comm_open
[Voila] activity on f829f5d4-3a81-4e18-8786-6f8026662d7c: comm_open
[Voila] activity on f829f5d4-3a81-4e18-8786-6f8026662d7c: comm_open
[Voila] activity on f829f5d4-3a81-4e18-8786-6f8026662d7c: execute_result
[Voila] msg_type: comm_open
[Voila] content: {'data': {'state': {'_model_module': '@jupyter-widgets/base', '_model_module_version': '2.0.0', '_model_name': 'LayoutModel', '_view_count': None, '_view_module': '@jupyter-widgets/base', '_view_module_version': '2.0.0', '_view_name': 'LayoutView', 'align_content': None, 'align_items': None, 'align_self': None, 'border_bottom': None, 'border_left': None, 'border_right': None, 'border_top': None, 'bottom': None, 'display': None, 'flex': None, 'flex_flow': None, 'grid_area': None, 'grid_auto_columns': None, 'grid_auto_flow': None, 'grid_auto_rows': None, 'grid_column': None, 'grid_gap': None, 'grid_row': None, 'grid_template_areas': None, 'grid_template_columns': None, 'grid_template_rows': None, 'height': None, 'justify_content': None, 'justify_items': None, 'left': None, 'margin': None, 'max_height': None, 'max_width': None, 'min_height': None, 'min_width': None, 'object_fit': None, 'object_position': None, 'order': None, 'overflow': None, 'padding': None, 'right': None, 'top': None, 'visibility': None, 'width': None}, 'buffer_paths': []}, 'comm_id': '5d627acefa394ac892c7ab9e8f0679a1', 'target_name': 'jupyter.widget', 'target_module': None}
[Voila] activity on f829f5d4-3a81-4e18-8786-6f8026662d7c: status (idle)
[Voila] msg_type: comm_open
[Voila] content: {'data': {'state': {'_model_module': '@jupyter-widgets/controls', '_model_module_version': '2.0.0', '_model_name': 'SliderStyleModel', '_view_count': None, '_view_module': '@jupyter-widgets/base', '_view_module_version': '2.0.0', '_view_name': 'StyleView', 'description_width': '', 'handle_color': None}, 'buffer_paths': []}, 'comm_id': '7ed74510abb6448ea1ff0ca85936cbbe', 'target_name': 'jupyter.widget', 'target_module': None}
[Voila] msg_type: comm_open
[Voila] content: {'data': {'state': {'_dom_classes': [], '_model_module': '@jupyter-widgets/controls', '_model_module_version': '2.0.0', '_model_name': 'IntSliderModel', '_view_count': None, '_view_module': '@jupyter-widgets/controls', '_view_module_version': '2.0.0', '_view_name': 'IntSliderView', 'behavior': 'drag-tap', 'continuous_update': True, 'description': '', 'description_allow_html': False, 'disabled': False, 'layout': 'IPY_MODEL_5d627acefa394ac892c7ab9e8f0679a1', 'max': 10, 'min': 1, 'orientation': 'horizontal', 'readout': True, 'readout_format': 'd', 'step': 1, 'style': 'IPY_MODEL_7ed74510abb6448ea1ff0ca85936cbbe', 'tabbable': None, 'tooltip': None, 'value': 2}, 'buffer_paths': []}, 'comm_id': 'dedca253fb364bfc8fead9a113d49d28', 'target_name': 'jupyter.widget', 'target_module': None}
[Voila] msg_type: execute_result
[Voila] content: {'data': {'text/plain': 'IntSlider(value=2, max=10, min=1)', 'application/vnd.jupyter.widget-view+json': {'version_major': 2, 'version_minor': 0, 'model_id': 'dedca253fb364bfc8fead9a113d49d28'}}, 'metadata': {}, 'execution_count': 1}
[Voila] msg_type: status
[Voila] content: {'execution_state': 'idle'}
[Voila] Path jupyterlab_pygments\static\remoteEntry.5cbb9d2323598fbda535.js served from C:\Users\frq09324\Documents\src\py312\share\jupyter\labextensions\jupyterlab_pygments\static\remoteEntry.5cbb9d2323598fbda535.js
[Voila] Path @jupyter-widgets\jupyterlab-manager\static\remoteEntry.e4ff09401a2f575928c0.js served from C:\Users\frq09324\Documents\src\py312\share\jupyter\labextensions\@jupyter-widgets\jupyterlab-manager\static\remoteEntry.e4ff09401a2f575928c0.js
[Voila] Path @voila-dashboards\widgets-manager8\static\remoteEntry.958dac8c7410b5fcc9ee.js served from C:\Users\frq09324\Documents\src\py312\share\jupyter\voila\labextensions\@voila-dashboards\widgets-manager8\static\remoteEntry.958dac8c7410b5fcc9ee.js
Browser Output
Refused to execute script from 'http://localhost:8866/voila/labextensions/jupyterlab_pygments/static/remoteEntry.5cbb9d2….js' because its MIME type ('text/plain') is not executable, and strict MIME type checking is enabled.
localhost/:1 Refused to execute script from 'http://localhost:8866/voila/labextensions/@jupyter-widgets/jupyterlab-manager/static/remoteEntry.e4ff094….js' because its MIME type ('text/plain') is not executable, and strict MIME type checking is enabled.
localhost/:1 Refused to execute script from 'http://localhost:8866/voila/labextensions/@voila-dashboards/widgets-manager8/static/remoteEntry.958dac8….js' because its MIME type ('text/plain') is not executable, and strict MIME type checking is enabled.
(index):41 
Event
(index):41 
Event
(index):41 
Event


If using JupyterLab

  • JupyterLab version: 4.3.2
Installed Labextensions
Paste the output from your command line running `jupyter labextension list`.
JupyterLab v4.3.2
C:\Users\frq09324\Documents\src\py312\share\jupyter\labextensions
        jupyterlab_pygments v0.3.0 enabled ok (python, jupyterlab_pygments)
        @jupyter-widgets/jupyterlab-manager v5.0.13 enabled ok (python, jupyterlab_widgets)
        @voila-dashboards/jupyterlab-preview v2.3.8 enabled ok (python, voila)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions