интерактивная отладка оболочки с помощью pycharm
Я новичок в PyCharm. Я использую простоя в течение длительного времени.
очень удобно использовать объекты Python после выполнения скрипта в режиме ожидания. Есть ли способ использовать объекты скрипта после его выполнения с помощью интерактивной оболочки python с помощью PyCharm?
например, у нас есть' тестовый ' проект с одним файлом 'test.py':
a = '123'
print a
после выполнения мы можем получить результат:
123
Process finished with exit code 0
Как я могу использовать строку ' a ' с интерактивным Шелл?
8 ответов:
встроенная оболочка python для текущего сеанса отладки
- установите точку останова в строке интереса в вашем коде (т. е. щелкнув желоб) и запустите debug (щелкните правой кнопкой мыши в Редакторе, затем выберите отладка myfile.py...).
- когда точка останова будет достигнута, найдите Debug>консоль вкладка, а затем нажмите кнопку отображать командную строку (см. скриншот.)
это позволит оболочку python (обратите внимание на зеленый
>>>на скриншоте), где вы можете получить доступ ко всем переменным в текущей области и делать все, что вы обычно делаете в оболочке Python.в последних версиях pycharm вы получаете полный интерпретатор ipython вместо простой оболочки python (если ipython установлен).
на оценить выражение окно
в качестве более удобной альтернативы, если вам нужно только проверить некоторые переменные, члены доступа или методы вызова на объекте в области, как только точка останова достигнута, выберите выражение в текущей области, щелкните правой кнопкой мыши ->Оценить Выражение (или используйте горячую клавишу, показанную в меню под выполнить→ Оценить Выражение...), редактировать по мере необходимости - вы можете типа любой выражение python, с автоматическим завершением доступно-и затем нажмите введите (или нажмите кнопку оценить) для проверки результата.
поддерживаются несколько и многострочные выражения: для получения многострочной версии диалогового окна проверка нажмите кнопку режим фрагмента кода или выберите несколько строк кода в редакторе, а затем вычислите выражение. Вы можете присваивать значения существующим переменным (новые не могут быть определены) и запускать целые куски код.
наведите курсор мыши на переменные
чтобы увидеть значение переменной после установки точки останова в режиме отладки, наведите указатель мыши на переменную (1-2 секунды) и значение будет показано в подсказке.
подсказка будет содержать значок-щелчок по нему откроет инспектор во всплывающем окне.
для переменные в области инспектор отображается в нижней панели под Debug>отладчик.
Я нашел предыдущие ответы от Piga-fetta, игр Brainiac и kobejohn полезно, но не сытно. Поэтому я здесь предоставляю третий вариант:
загрузка выбранного кода в консоли (мое предположение)
использовать Shift + Alt + E чтобы загрузить выбранный код или строку, в которой находится курсор, в консоль и немедленно запустить его. Это также есть некоторые недостатки:
- вы должны выбрать весь файл, если вам нужно запустить весь файл.
- код продолжает работать, даже если он обнаружит ошибку.
но взамен мы получаем функцию, которая лучше, чем простоя (на мой взгляд): возможность запускать свой код по одному выбору за раз.
читать об этом здесь.
использование точек останова и вычисление выражения ( Alt -F8) (предложенный Piga-fetta)
Это очень полезно в большом приложении, где нам нужно отлаживать в определенных местах кода, но не так полезно для интерактивного кодирования. Так что это не то, что мы хотим.
Использование Инструментов -- > Запуск Консоли Python (предложено играми Brainiac и kobejohn)
Это want мы хотим, но это немного громоздко, особенно если модуль, который мы хотим запустить, не находится в корневой каталог проекта.
вы можете просто использовать консоль Python внутри PyCharm 2 и PyCharm 3. И вы можете просто импортировать, так как ваш корень проекта уже добавлен в ваш
PYTHONPATH:Итак, позвольте мне представить несколько скриншотов:
1. Создание
console.pyфайл в корневом каталоге
2. Открытие консоли Python внутри PyCharm
3. Импорт переменной из
console.pyфайл
и там, вы успешно импортировали свою переменную.
оставьте командную строку открытой после выполнения
для тех, кто все еще имеет эту проблему: перейдите в меню Выполнить/отладка, выберите изменить конфигурацию, установите флажок "Показать командную строку" это позволит вам ввести параметры в консоли в командной строке >>> и проверить свою функцию.
глобальная конфигурация
чтобы это изменение применялось ко всем вашим файлам .py (поскольку этот флажок применяется только к текущему файлу, который вы используете работа над) перейдите к: редактировать конфигурацию, во всплывающем окне вы увидите дерево меню слева, выберите Defaults, затем Python, затем установите флажок "Показать командную строку", это сделает его настройкой по умолчанию при открытии файла .py (эта функция действительно должна быть включена по умолчанию!)
Я нашел лучший ответ в: взаимодействие с программой после выполнения
цитируя ответ ниже:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
из вывода python -- help:
- i: проверка в интерактивном режиме после запуска скрипта; вызывает запрос, даже если stdin не является терминалом; также PYTHONINSPECT=x
чтобы установить опцию интерпретатора в PyCharm перейдите к Запустить / Изменить Конфигурацию
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Я попробовал, и это работает-просто используйте " - i "(без кавычек) как"параметры интерпретатора". Обратите внимание, что если вы изменяете только значения по умолчанию в конфигурациях запуска/отладки, это может не иметь немедленного действия для сценариев, которые вы уже запускали раньше; вам нужно будет редактировать конфигурации этих сценариев один за другим.
не упомянутые выше:
Если вы хотите использовать переменную во время выполнение, например, когда вы устанавливаете точку останова, а затем экспериментируете с вызовом функций на объектах в текущей области, PyCharm имеет'Вычислить Выражение (Alt-F8)'.
в этом окне, вы можете вызывать функции и увидеть выход. Завершение кода также работает. Это окно также имеет "режим фрагмента кода", я просто исследую, что это значит - можете ли вы определить временные функции здесь?.
(Я использую PyCharm 3.0.1 Community Edition)
*обновление
из вашего обновления, я думаю это так вопрос предоставляет по крайней мере, один идеальный ответ.
позвольте мне написать его здесь немного больше шаг за шагом, чем ответ, который я связал.
- Tools --> Run Python Console
- импортировать скрипт
import myscript(без .py) (если вы хотите короткое имя, используйтеimport myscript as m- (возможно, вам придется запустить
main()Если у вас естьif __name__ == '__main__'блок)- как в вашем вопросе,
aдоступнаmyscript.a- если вы хотите, запустите скрипт еще раз с
myscript = reload(myscript)
оригинал
в PyCharm 3.0 вы можете сделать следующее:
- Tools --> Run Python Console
- Tools --> Open Terminal (с которого можно запускать python или делать что угодно)
это то, что вы ищете? Если нет, пожалуйста, попробуйте их и пусть я знаю, как это отличается от того, что вы хотите.
еще одна альтернатива-просто использовать ту же команду, которую Spyder использует для "интерактивного" запуска скрипта:
>>> runfile('myscript.py')затем вы можете открыть обозреватель переменных для интерактивной консоли и повторно запустить сценарий, снова выполнив приведенную выше команду. Очень похоже на рабочий процесс Spyder. Все остальные вышеперечисленные методы оставят вас с интерактивной подсказкой консоли, но не возможностью открыть проводник переменных, поэтому, если вы ищете такую функцию, попробуйте вышеупомянутое.









Comments