2016-06-10 3 views
1

Некоторые предпосылки: Я перехожу от использования R + RStudio для всех своих аналитических задач данных к использованию Python (в основном, pandas) + Eclipse с PyDev. Из-за RStudio я привык к документообороту, который включает в себя запись некоторого кода и разделов тестирования, о которых я не уверен, запустив кусок куском, сделав любые исправления, которые мне нужно сделать, а затем перейдем дальше. RStudio действительно облегчает (на самом деле, возможно, обучил меня) сделать это, и поскольку у меня нет какой-либо формальной подготовки в CS, так я думаю сейчас.Интерактивное тестирование разделов кода в Eclipse с использованием PyDev (практические рекомендации и рекомендации)

Я два вопроса (один практический, другой философский):

1.) Как вы можете получить интерактивную консоль в Eclipse, + PyDev распознавать переменные в вашем сценарии большего? Я знаю, что ctrl + alt + enter выведет интерактивную консоль, но я не могу заставить ее оставаться, как только я вернусь к тому, чтобы переделывать свой сценарий, и он также не узнает ничего, что было раньше. Поэтому, если я хочу проверить использование функции, которую я определил в определенном столбце данных, мне нужно скопировать/вставить эту функцию в консоль (а также любые зависимости, например, импортировать модули).

2.) Какой рабочий процесс выполняют пользователи Python? Я понимаю, что эта зависимость от ручных догадок и контрольных проверок - это не то, что делают люди, которые действительно программируют, и я хотел бы перейти к лучшей практике. Но до сих пор я нахожу, что повторный запуск всего сценария с самого начала после внесения изменений - это пустая трата, когда я предпочитаю просто оттачивать те секции, над которыми я активно работаю.

ответ

2

После выполнения Ctrl + Alt + Enter, вы должны быть в состоянии:

  1. Сделать Ctrl + Alt + Enter, чтобы выполнить весь файл на консоли, так что вы можете использовать свои функции.

  2. Поместите курсор на любую строку и нажмите F2, чтобы он выполнил эту строку на консоли и перейдет к следующему (так что вы можете написать блок кода, нажав F2 для выполнения строки после строки) ,

Обратите внимание: если вы хотите, вы можете увидеть локальные переменные из оболочки, если вы отметили «Подключить консоль к сеансу отладки»? на странице настроек> pydev> интерактивная консоль.

Теперь это разумный подход к поисковым испытаниям с медленными данными (где вы обычно загружаете медленные данные и вносите изменения с данными в память), но для быстрого кода, я предлагаю создавать тестовые примеры, а затем (я рекомендую использовать pytest: http://pytest.org, но unittest работает тоже) ... и в этом случае вы также можете иметь тесты для потомков, которые вы можете повторить, чтобы убедиться, что вы ничего не сломали по мере развития вашего кода.

Обратите внимание, что если вы решите использовать pytest, вам нужно перейти к настройкам> PyDev> PyUnit и установить тестовый бегун на PyTest. Обратите внимание, что PyDev делает довольно простым выполнение всего теста, который вы хотите (вы можете выбрать тестовый метод с помощью Ctrl + Shift + Up/Down в тестовом файле, а затем использовать Ctrl + F9 для его запуска ... и если вы хотите , вы можете просто использовать Ctrl + F11 для повторного запуска, чтобы позже или F11 отладить его с помощью контрольных точек, при условии, что вы настроили «Всегда запускать ранее запущенное приложение», как описано в http://www.pydev.org/manual_101_run.html).

Смежные вопросы