Spyder IDE с python 3.10 кажется зависающей при нажатии кнопки запуска, но она отлично работает, если предварительно запустить одну строку перед запуском всего скрипта

У меня проблемы с последней версией Spyder 5.4.0 с последней версией Python 3.10.6.

  • Версия Spyder: 5.4.0 (конда)
  • Версия Python: 3.10.6 64-битная
  • Версия Qt: 5.15.2
  • Версия PyQt5: 5.15.7
  • Операционная система: Windows 10

Даже если запустить скрипт вроде

print('Hello world')

когда я нажимаю зеленую кнопку воспроизведения, консоль IPython зависает на этом скрипте и не работает часами.

Если я выбираю эту строку кода и запускаю текущий выбор или запускаю текущую ячейку, все работает нормально. С этого момента кажется, что spyder работает нормально, пока в определенный момент, когда я запускаю, он снова не зависает. Мне нужно перезапустить новую консоль, и перед запуском скрипта я должен запустить одну строку или одну ячейку.

Кажется, мне нужно каким-то образом «активировать» консоль Python, чтобы Spyder запустил скрипт.

У кого-нибудь есть такая же проблема? Как я могу это решить?

Я много раз пытался удалить и переустановить как spyder, так и python, но это бесполезно.

Похоже есть похожая проблема stackoverflow.com/q/74481499/12842085

granular bastard 17.11.2022 22:37
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
1
103
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

После многих испытаний я заметил, что с консолью 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

Другие вопросы по теме