# PRISMrendering not loading

**URL:** <https://discourse.slicer.org/t/prismrendering-not-loading/48550>\
**Category:** Support\
**Tags:** extensions-manager, rendering, volume-rendering, roi\
**Created:** [October 19, 2026, 12:13pm UTC](https://discourse.slicer.org/t/prismrendering-not-loading/48550 "2026-10-19T12:13:21Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Atticus](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/atticus/32/80526_2.png) [@Atticus](https://discourse.slicer.org/u/Atticus)\
**Post date:** [October 19, 2026, 12:13pm UTC](https://discourse.slicer.org/t/prismrendering-not-loading/48550/1 "2026-10-19T12:13:21Z")

</div>

Hi!

As the title says, the PRISMrendering module appears in red boldface in the module finder and it only displays “PRISMRendering module is not loaded”

I installed it from the Extension Manager and restarted 3DSlicer as requested.

Running 3DSlicer 5.12.4 on Win11. I have never used this extension in the past.

Any info is much appreciated.

Thanks in Advance,

Atticus

---

<div class="post-metadata">

**Author:** ![muratmaga](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/muratmaga/32/3622_2.png) [@muratmaga](https://discourse.slicer.org/u/muratmaga)\
**Post date:** [October 19, 2026, 3:14pm UTC](https://discourse.slicer.org/t/prismrendering-not-loading/48550/2 "2026-10-19T15:14:21Z")

</div>

I noticed that few days ago. It is due to.an outdated library. I left a pr that fixes it. If you apply it should work

Not sure how actively Simon is tracking the forum or the repo.

> <https://github.com/ETS-vis-interactive/SlicerPRISMRendering/pull/44>
>
> @drouin-simon — PRISMRendering currently fails to load in Slicer 5.12 (Python 3.…12):
> 
> \`\`\`
> File ".../qt-scripted-modules/PRISMRendering.py", line 9, in \<module\>
> import imp
> ModuleNotFoundError: No module named 'imp'
> \[Qt\] Fail to instantiate module "PRISMRendering"
> \`\`\`
> 
> Python 3.12 removed both \`imp\` and \`distutils\` from the standard library. In this extension both imports are dead code (\`imp\` is never referenced, and \`strtobool\` is imported but never called), so this PR just deletes them:
> 
> \- \`PRISMRendering/PRISMRendering.py\`: remove \`import imp\` and \`from distutils.util import strtobool\`
> \- \`PRISMRendering/PRISMRenderingLogic/PRISMRenderingLogic.py\`: same
> \- \`PRISMRendering/PRISMRenderingShaders/CustomShader.py\`: remove \`import imp\`
> 
> \`distutils\` currently happens to resolve through setuptools' shim, but that's not guaranteed, so it's removed too. Line endings (CRLF) are preserved.
> 
> \*\*Tested:\*\* Slicer 5.12.4 (r34645, Python 3.12.10) on Linux — I applied the same change to the installed extension, and the module now loads, the widget/logic instantiate, and the Custom Shader list (Outline, Sphere Carving, Chroma Depth, Opacity Peeling, Plane Intersecting) populates.
> 
> 🤖 Generated with \[Claude Code\](https://claude.com/claude-code)
