The issue is stated in the title and quite easy to reproduce - at least on my configuration -
- I'm starting from a fresh new miniconda install with python 3.10.18 based on the lastest miniconda installer found here : https://repo.anaconda.com/miniconda/Miniconda3-py310_25.11.1-1-Windows-x86_64.exe
- On this new install, I add Spyder 6.1.2 and Spyder terminal 1.3.0 with the following command :
pip install spyder spyder-terminal (for an unknown reason, installation with conda seems to enforce PyQt5 as a strict requirement and I can't install PyQt6 afterwards. But I suppose it is another topic)
- I add PyQt6 (required by some of my developments) with
pip install pyqt6
And once installation is done, I can start Spyder. I get the spyder-terminal tab as expected. But if I try to select it, the tab remains blank without any text shown. I don't get any prompt and I can't input anything.
This may be due to my installation of Spyder using pip. But I've discovered by running conda list that both Pyqt 5.15 and PyQt 6.10 are found in my environment. And although I can run my modules calling PyQt6, Spyder itself shows :
- Spyder version: 6.1.2 (conda)
- Python version: 3.10.18 64-bit
- Qt version: 5.15.2
- PyQt5 version: 5.15.10
- Operating System: Windows-10-10.0.26100-SP0
If I uninstall PyQt5 using pip uninstall pyqt5, I can still run Spyder and then it shows :
- Spyder version: 6.1.2 (conda)
- Python version: 3.10.18 64-bit
- Qt version: 5.15.2
- PyQt5 version: 5.15.10
- Operating System: Windows-10-10.0.26100-SP0
Spyder itself is starting using PyQt6, as expected, but then, spyder-terminal tab is not even displayed anymore, although plugin is still listed in the environment.
And if I restart from a new fresh install but without installing PyQt6 (only steps 1 & 2 listed on top), from the spyer-terminal tab, I get a prompt and I can input whatever I want as if directly from Windows own terminal app. But obviously, I can't run my modules calling PyQt6.
I've tried with Python 3.13 a/o various virtual envs combinations with no more luck. I don't remember all my attempts.
The only info that may be relevant is that on Spyder internal console, upon startup, I see :
- Nothing with PyQt6 only (case when spyder-terminal tab is not even displayed although plugin is listed in the environment)
- With PyQt6 and PyQt5, that's the case were spyder-terminal tab is displayed but blank, There's an error seemingly related to one of spyder-terminal components :
jQuery.Deferred exception: e.replaceChildren is not a function TypeError: e.replaceChildren is not a function
at t.DomRenderer.clear (webpack://spyder_terminal/./node_modules/@xterm/xterm/lib/xterm.js?:2:83240)
at t.RenderService.clear (webpack://spyder_terminal/./node_modules/@xterm/xterm/lib/xterm.js?:2:114344)
at t.FitAddon.fit (webpack://spyder_terminal/./node_modules/@xterm/addon-fit/lib/addon-fit.js?:1:433)
at createTerminal (webpack://spyder_terminal/./spyder_terminal/server/static/js/main.js?:81:12)
at HTMLDocument.eval (webpack://spyder_terminal/./spyder_terminal/server/static/js/main.js?:264:3)
at e (http://127.0.0.1:8071/static/components/jquery/dist/jquery.min.js:2:27028)
at t (http://127.0.0.1:8071/static/components/jquery/dist/jquery.min.js:2:27330) undefined
Uncaught TypeError: t.replaceChildren is not a function
Uncaught TypeError: e.replaceChildren is not a function`
The issue is stated in the title and quite easy to reproduce - at least on my configuration -
pip install spyder spyder-terminal(for an unknown reason, installation with conda seems to enforce PyQt5 as a strict requirement and I can't install PyQt6 afterwards. But I suppose it is another topic)pip install pyqt6And once installation is done, I can start Spyder. I get the spyder-terminal tab as expected. But if I try to select it, the tab remains blank without any text shown. I don't get any prompt and I can't input anything.
This may be due to my installation of Spyder using pip. But I've discovered by running
conda listthat both Pyqt 5.15 and PyQt 6.10 are found in my environment. And although I can run my modules calling PyQt6, Spyder itself shows :If I uninstall PyQt5 using
pip uninstall pyqt5, I can still run Spyder and then it shows :Spyder itself is starting using PyQt6, as expected, but then, spyder-terminal tab is not even displayed anymore, although plugin is still listed in the environment.
And if I restart from a new fresh install but without installing PyQt6 (only steps 1 & 2 listed on top), from the spyer-terminal tab, I get a prompt and I can input whatever I want as if directly from Windows own terminal app. But obviously, I can't run my modules calling PyQt6.
I've tried with Python 3.13 a/o various virtual envs combinations with no more luck. I don't remember all my attempts.
The only info that may be relevant is that on Spyder internal console, upon startup, I see :