notepad ++ без проблем запускает выбранный код в консоли Python - PullRequest
13 голосов
/ 14 октября 2011

Я часто использую R для анализа данных, и мне действительно нравится Notepad ++ вместе с NppToR. В частности, NppToR позволяет выполнять часть кода без особых хлопот. Я просто выделяю фрагмент кода R для запуска и нажимаю F8. Затем код магическим образом запускается в консоли R.

Теперь мне необходимо использовать python для анализа данных. Я знаю, что ipython отлично работает в интерактивном режиме, но всегда очень раздражает копировать фрагмент кода Python и вручную вставлять его в консоль ipython. Кроме того, отступы часто смешиваются, и, следовательно, не удается выполнить все строки. Обратите внимание, что я хочу запускать «выбранные» строки кодов, а не весь файл.

Поэтому я ищу программу / плагин / макрос, похожий на NppToR, но работающий с консолью python / ipython. Я искал в Интернете, но не смог найти такой. Некоторые плагины хороши, но не совсем то, что я хочу. Например, Python Script позволяет расширять сам Notepad ++, но не снаружи. Различные другие расширения «Выполнить» позволяют запускать весь файл на python.

1 Ответ

5 голосов
/ 14 октября 2011

Вы можете настроить редактор, который IPython использует для команды edit , и настроить IPython для использования Notepad ++.IPython 0.11 создает папку .ipython/profile_default в вашей папке пользователя (в моем случае C:/Users/zk/.ipython/profile_default).Чтобы настроить IPython для использования Notepad ++, создайте .ipython/profile_default/ipython_config.py со следующим:

c = get_config()
# use DOS style path, C:/PROGRA~2 on my 64-bit system points to C:/Program Files (x86)
c.TerminalInteractiveShell.editor = 'C:\PROGRA~2\NOTEPA~1\NOTEPA~1.exe'
# set editor for Qt Console, if you wish to use that
c.IPythonWidget.editor = 'C:\PROGRA~2\NOTEPA~1\NOTEPA~1.exe'

Затем можно запустить IPython и использовать команду edit для запуска Notepad ++ из IPython, сохранение и закрытие Notepad ++ выполнит файлв IPython.

Если вы не против установить PyQt4 и pyzmq (и я считаю, pygments , по крайней мере для IPython0.12-dev ), консоль IPython Qt работает очень хорошо (честно говоря, самая приятная интерактивная среда, которую вы можете получить для Python).Вы можете вставить непосредственно в IPython, и он отрегулирует отступ для вас (сдвигая набивочный код).

...