У меня проблемы с последней версией Spyder 5.4.0 с последней версией Python 3.10.6.
Даже если запустить скрипт вроде
print('Hello world')
когда я нажимаю зеленую кнопку воспроизведения, консоль IPython зависает на этом скрипте и не работает часами.
Если я выбираю эту строку кода и запускаю текущий выбор или запускаю текущую ячейку, все работает нормально. С этого момента кажется, что spyder работает нормально, пока в определенный момент, когда я запускаю, он снова не зависает. Мне нужно перезапустить новую консоль, и перед запуском скрипта я должен запустить одну строку или одну ячейку.
Кажется, мне нужно каким-то образом «активировать» консоль Python, чтобы Spyder запустил скрипт.
У кого-нибудь есть такая же проблема? Как я могу это решить?
Я много раз пытался удалить и переустановить как spyder, так и python, но это бесполезно.
После многих испытаний я заметил, что с консолью IPython есть что-то странное. Я заметил, что когда он зависает после запуска кода, если я удаляю все пользовательские переменные, он работает нормально.
Затем я попытался удалить все переменные перед выполнением, и все работает нормально.
Поэтому я обнаружил, что решение, которое сработало для меня, - это перейти к настройкам -> Выполнить -> и снять флажок «Удалить все переменные перед выполнением».
Это очень раздражает, потому что мне приходится делать это вручную каждый раз перед запуском, но таким образом спайдер больше не зависает! Я надеюсь, что разработчики Spyder скоро ее решат.
-
Я автоматически решил, набрав в начале любого скрипта эти строки, вдохновленные вопросом Код для очистки консоли и переменных в Spyder :
try:
from IPython import get_ipython
get_ipython().magic('clear')
get_ipython().magic('reset -f')
import matplotlib.pyplot as plt
plt.close('all')
except:
pass
похоже на Matlab, в котором вы обычно начинаете свой код с
clc
close all
clear all
Похоже есть похожая проблема stackoverflow.com/q/74481499/12842085