В Pycharm Как загрузить код в интерактивный отладчик?

Я хочу иметь возможность загружать и запускать несколько строк кода в интерактивный отладчик, чтобы убедиться, что код работает нормально. Таким образом, мне не нужно повторно запускать с начала кода, что занимает гораздо больше времени. Я попробовал два метода, но не работал. Исходя из R и Matlab, я предпочитаю эту функцию. Кто-нибудь может предложить?

Способ 1. В соответствии с интерактивной отладкой оболочки с помощью pycharm можно загрузить код, введенный в редактор pycharm, в интерактивный отладчик

1> set a debugging point 2> highlight the code you want to load to Python console 3> alt+shift+E 

Когда я выполняю следующие действия: я устанавливаю точку отладки, отлаживаю код для запуска точки отладки и выбираю код, нажимая alt + shift + e. Вместо загрузки кода в консоль отладки он загружается в консоль python по умолчанию , У меня нет доступа к переменным и пакетам, которые я хочу отлаживать в контексте консоли python.

Я должен свести к минимуму консоль python, а затем запустить его снова. Иногда он запускается в консоли отладчика. Ниже ответа предлагается «выбрать консоль, на которую вы хотите настроить таргетинг». Каков шаг? вы нажимаете на отладчик? затем выберите код и нажмите atl + shift + e? Я пробовал, он не работает.

EDIT: нашел официальный документ, но не очень полезен: https://www.jetbrains.com/help/pycharm/2017.1/loading-code-from-editor-into-console.html

введите описание изображения здесь

Метод2: Введите и экспериментируйте с кодом непосредственно в интерактивной консоли отладчика. Однако нет простого способа вернуть код (несколько строк) обратно в редактор. История консоли сортируется автоматически от самого нового до самого старого. При копировании из истории консоли у вас есть последняя строка желаемого кода в качестве первой строки в редакторе. Смотрите ниже темы, у меня такая же проблема. Как инвертировать порядок истории консоли в pycharm для копирования вставки?

5 Solutions collect form web for “В Pycharm Как загрузить код в интерактивный отладчик?”

Нажатие Alt + Shift + E вызовет команду «Выполнить выбор в консоли». Если уже нет открытой консоли, PyCharm откроет обычную (не отладочную) консоль Python.

Чтобы выполнить выбор в консоли отладчика , сначала нужно запустить отладчик. Вам нужно запустить сценарий с помощью отладчика и приостановить его с помощью точки останова, тогда команда будет вести себя так, как ожидалось.

Если у вас несколько открытых консолей, например один регулярный и один отладчик, перед выполнением команды клавиатуры необходимо активировать целевую консоль.

Хорошо, поэтому я мог бы немного поработать над этим, но из-за моего использования RI я почувствовал разочарование от запуска кода путем выбора. Например, если вы выберете блок кода, который инициализирует некоторые переменные с режимом отладки и позже удалит их в исходном состоянии, то может быть немного запутанным позже, если исходный код, который вы выборочно выполняете, изменяется. Кроме того, работа над фрагментом кода иногда приводит к ошибкам в заказе, но стремление запускать код сверху каждый раз, безусловно, хорошо связано с временем ожидания, необходимым для выполнения определенных задач.

Поэтому возникает вопрос: когда вы перезапускаете pycharm, делает ли консоль python то, что вы использовали в последний раз, когда вы открыли pycharm? Нет, это не так, но когда вы запускаете свою программу, сюжет бесцеремонно работает, потому что plt определен в строке 2. Если вы просто запустите линию 6 без строки 2, у вас возникнут проблемы.

Также похоже, что вы установили точку останова в строке 6, что является другим вопросом полностью …

  1. Сначала убедитесь, что вы правильно закрыли (а не просто скрыли) консоль, нажав кнопку закрытия консоли слева, что является красным X (см. Эту страницу ).
  2. Теперь (повторно) откройте консоль и щелкните значок «Прикрепить отладчик», значок зеленого знака второй снизу слева (чуть выше зеленого плюса). Он должен стать толчком и серым.
  3. Теперь, если вы импортируете свои модули и запускаете в них функции внутри, любые точки останова, установленные в этих функциях, должны быть удалены, как обычно, и вы можете выполнять их через один шаг, точно так же, как при отладке сценария. Вы можете сделать это, набрав непосредственно в консоли или выбрав код и выбрав «выполнить в консоли», как описано в другом ответе. Кажется, что трассировка стека не работает (в моем быстром тесте). Например, если у вас есть функция «fn ()» в файле «foo.py» в каталоге «dir», попробуйте это: import dir.foo dir.foo.fn()

  4. Если вы измените свой код после его импорта, консоль Python все равно будет использовать старый код. (Если вы остановитесь на контрольных точках, это может стать очень запутанным.) Вы можете принудительно обновить новый код, вызвав функцию reload как показано ниже. В качестве альтернативы вернитесь к шагу 1 (это хорошая идея, если все начнет растеряться). from importlib import reload # This line only needed on Python 3 reload(dir.foo)

Хотя это не функция пичарма, я бы настоятельно рекомендовал попробовать jupyter notebook . Это очень полезно для прототипирования.

Если вы хотите сделать это с помощью pycharm, как указал Даг Хёйдал, одним из вариантов является выполнение блока кода в консоли с помощью Alt+Shift+E

Однако, чтобы полностью использовать превосходный отладчик Pycharm, вы должны написать единичный тест, вызывающий конкретный фрагмент кода, который вы хотите протестировать (или отладить). Таким образом, вы можете добавить контрольные точки правильно отлаживать или автоматически обеспечить ожидаемое поведение в будущем. Тем не менее, для написания модульных тестов есть много других преимуществ, которые вы по достоинству оцените.

Это не ответ на вопрос, но может быть полезным.

введите описание изображения здесь

  • Автозаполнение PyCharm, список типов
  • Как инвертировать порядок истории консоли в pycharm для копирования вставки?
  • Как заставить IntelliJ / PyCharm распознавать активное ядро ​​IPython?
  • Как проверить, запущен ли тест модуля python в PyCharm или нет?
  • Невозможно импортировать pandas в интерпретатор pycharm, несмотря на изменение пути интерпретации pyCharm python
  • Удаленная отладка на pycharm
  • Как воспроизвести способ, которым PyCharm запускает мой проект Python 3.4 в командной строке?
  • Pycharm предупреждает о непредвиденном типе в модели SqlAlchemy
  • Python - лучший язык программирования в мире.