Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error while closing project just after Spyder starts #21563

Closed
dalthviz opened this issue Nov 29, 2023 · 2 comments · Fixed by #22490
Closed

Error while closing project just after Spyder starts #21563

dalthviz opened this issue Nov 29, 2023 · 2 comments · Fixed by #22490

Comments

@dalthviz
Copy link
Member

dalthviz commented Nov 29, 2023

Description

What steps will reproduce the problem?

This happened while I was checking #21483. Maybe it was caused since I closed a project with a lot of files open while Spyder was still initializing things

Traceback

Traceback (most recent call last):
  File "C:\Users\dalth\AppData\Local\spyder-6\envs\spyder-runtime\lib\site-packages\spyder\plugins\ipythonconsole\plugin.py", line 886, in update_path
    self.get_widget().update_path(path_dict, new_path_dict)
  File "C:\Users\dalth\AppData\Local\spyder-6\envs\spyder-runtime\lib\site-packages\spyder\plugins\ipythonconsole\widgets\main_widget.py", line 2136, in update_path
    shell.update_syspath(path_dict, new_path_dict)
  File "C:\Users\dalth\AppData\Local\spyder-6\envs\spyder-runtime\lib\site-packages\spyder\plugins\ipythonconsole\widgets\shell.py", line 652, in update_syspath
    self.call_kernel(
  File "C:\Users\dalth\AppData\Local\spyder-6\envs\spyder-runtime\lib\site-packages\spyder\plugins\ipythonconsole\widgets\shell.py", line 334, in call_kernel
    return self.kernel_handler.kernel_comm.remote_call(
AttributeError: 'NoneType' object has no attribute 'kernel_comm'

Versions

  • Spyder version: 5.4.5 6 (standalone)
  • Python version: 3.10.12 64-bit
  • Qt version: 5.15.8
  • PyQt5 version: 5.15.9
  • Operating System: Windows-10-10.0.19045-SP0

Dependencies

# Mandatory:
atomicwrites >=1.2.0              :  1.4.1 (OK)
chardet >=2.0.0                   :  5.2.0 (OK)
cloudpickle >=0.5.0               :  2.2.1 (OK)
cookiecutter >=1.6.0              :  2.3.0 (OK)
diff_match_patch >=20181111       :  20230430 (OK)
intervaltree >=3.0.2              :  3.1.0 (OK)
IPython >=8.13.0,<9.0.0,!=8.17.1  :  8.15.0 (OK)
jedi >=0.17.2,<0.20.0             :  0.18.2 (OK)
jellyfish >=0.7                   :  1.0.0 (OK)
jsonschema >=3.2.0                :  4.19.0 (OK)
keyring >=17.0.0                  :  24.2.0 (OK)
nbconvert >=4.0                   :  7.8.0 (OK)
numpydoc >=0.6.0                  :  1.5.0 (OK)
paramiko >=2.4.0                  :  3.3.1 (OK)
parso >=0.7.0,<0.9.0              :  0.8.3 (OK)
pexpect >=4.4.0                   :  4.8.0 (OK)
pickleshare >=0.4                 :  0.7.5 (OK)
psutil >=5.3                      :  5.9.5 (OK)
pygments >=2.0                    :  2.16.1 (OK)
pylint >=2.5.0,<3.1               :  2.17.5 (OK)
pylint_venv >=3.0.2               :  3.0.2 (OK)
pyls_spyder >=0.4.0               :  0.4.0 (OK)
pylsp >=1.9.0,<1.10.0             :  1.9.0 (OK)
pylsp_black >=1.2.0,<3.0.0        :  1.3.0 (OK)
pyuca >=1.2                       :  1.2 (OK)
qdarkstyle >=3.2.0,<3.3.0         :  3.2 (OK)
qstylizer >=0.2.2                 :  0.2.2 (OK)
qtawesome >=1.2.1                 :  1.2.3 (OK)
qtconsole >=5.5.0,<5.6.0          :  5.6.0.dev0 (OK)
qtpy >=2.1.0                      :  2.4.0 (OK)
rtree >=0.9.7                     :  1.0.1 (OK)
setuptools >=49.6.0               :  68.1.2 (OK)
sphinx >=0.6.6                    :  7.2.5 (OK)
spyder_kernels >=3.0.0b2,<3.0.0b3 :  3.0.0.dev0 (OK)
superqt >=0.6.1,<1.0.0            :  0.6.1 (OK)
textdistance >=4.2.0              :  4.5.0 (OK)
three_merge >=0.1.1               :  0.1.1 (OK)
watchdog >=0.10.3                 :  3.0.0 (OK)
zmq >=22.1.0                      :  25.1.1 (OK)

# Optional:
cython >=0.21                     :  3.0.2 (OK)
matplotlib >=3.0.0                :  3.7.2 (OK)
numpy >=1.7                       :  1.25.2 (OK)
pandas >=1.1.1                    :  2.1.0 (OK)
scipy >=0.17.0                    :  1.11.2 (OK)
sympy >=0.7.3                     :  1.12 (OK)
@dalthviz
Copy link
Member Author

dalthviz commented Sep 3, 2024

I was able to reproduce this by trying to reopen a project already open. The current IPython console at the moment was on a failed initialization state due to an incorrect spyder-kernels (a custom interpreter was set and had spyder-kernels < 3.0.0):

Traceback (most recent call last):
  File "C:\Users\dalth\AppData\Local\spyder-6\envs\spyder-runtime\Lib\site-packages\spyder\plugins\ipythonconsole\plugin.py", line 1003, in update_path
    self.get_widget().update_path(path_dict, new_path_dict)
  File "C:\Users\dalth\AppData\Local\spyder-6\envs\spyder-runtime\Lib\site-packages\spyder\plugins\ipythonconsole\widgets\main_widget.py", line 2456, in update_path
    shell.update_syspath(path_dict, new_path_dict)
  File "C:\Users\dalth\AppData\Local\spyder-6\envs\spyder-runtime\Lib\site-packages\spyder\plugins\ipythonconsole\widgets\shell.py", line 709, in update_syspath
    self.call_kernel(
  File "C:\Users\dalth\AppData\Local\spyder-6\envs\spyder-runtime\Lib\site-packages\spyder\plugins\ipythonconsole\widgets\shell.py", line 372, in call_kernel
    return self.kernel_handler.kernel_comm.remote_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'kernel_comm'
Traceback (most recent call last):
  File "C:\Users\dalth\AppData\Local\spyder-6\envs\spyder-runtime\Lib\site-packages\spyder\plugins\ipythonconsole\plugin.py", line 1003, in update_path
    self.get_widget().update_path(path_dict, new_path_dict)
  File "C:\Users\dalth\AppData\Local\spyder-6\envs\spyder-runtime\Lib\site-packages\spyder\plugins\ipythonconsole\widgets\main_widget.py", line 2456, in update_path
    shell.update_syspath(path_dict, new_path_dict)
  File "C:\Users\dalth\AppData\Local\spyder-6\envs\spyder-runtime\Lib\site-packages\spyder\plugins\ipythonconsole\widgets\shell.py", line 709, in update_syspath
    self.call_kernel(
  File "C:\Users\dalth\AppData\Local\spyder-6\envs\spyder-runtime\Lib\site-packages\spyder\plugins\ipythonconsole\widgets\shell.py", line 372, in call_kernel
    return self.kernel_handler.kernel_comm.remote_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'kernel_comm'

@ccordoba12
Copy link
Member

ccordoba12 commented Sep 3, 2024

I think this is just a matter of checking if kernel_comm is available in call_kernel. That will not only deal with this problem but similar ones in the future (i.e. trying to comunicate with the kernel when that's not possible yet).

I'll take care of it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants