Рабочий процесс IPython (редактировать, запускать) - PullRequest
50 голосов
/ 09 августа 2010

Есть ли графический интерфейс для IPython, который позволяет мне открывать / запускать / редактировать файлы Python? Мой способ работы в IDLE - открыть два окна: оболочку и файл .py. Я редактирую файл .py, запускаю его и взаимодействую с результатами в оболочке.

Можно ли использовать IPython таким образом? Или есть альтернативный способ работы?

Ответы [ 13 ]

52 голосов
/ 20 августа 2010

Когда я работаю с python, у меня обычно открыты два окна терминала - одно с IPython, а другое с довольно настраиваемым Vim.

Два хороших ресурса:


Хотя это звучит так, как вам нужно, это волшебная функция IPython %ed / %edit:

Пример того, что вы можете сделать:

In [72]: %ed
IPython will make a temporary file named: c:\docume~1\wjwe312\locals~1\temp\ipython_edit_ar8veu.py

В файл я положил:

x = "Hello World"
print 3

После сохранения и выхода из файла:

Editing... done. Executing edited code...
3
Out[72]: "x = 'Hello world'\nprint 3\n"

In [73]: x
Out[73]: 'Hello world'

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

Другой подобный рабочий процесс - cd к каталогу, содержащему ваш скрипт Python, который вы редактируете с помощью вашеголюбимый редактор.Затем вы можете %run сценарий из IPython, и вы получите доступ ко всему, что определено в файле.Например, если у вас есть следующее в файле test.py в вашем каталоге /home/myself:

    class Tester(object):
        def __init__(self):
            print "hi"

    def knightme(name):
        print "Hello, Sir ", name

Тогда вы можете сделать следующее:

In [42]: cd /home/myself
/home/myself

In [43]: %run test.py # <Tab> autocomplete also works

In [44]: knightme('John')
Hello, Sir  John

In [45]: t = Tester()
Hi

Либо микс, либоодин из этих рабочих процессов должен дать вам нечто очень похожее на то, как вы привыкли работать в IDLE.

17 голосов
/ 15 октября 2010

Spyder , ранее известный как SPyderlib / Spyder2

Довольно легкий, быстрый и поддерживающий почти все функции , которые вам когда-либо понадобятся для работы с проектом Python.Он может редактировать и запускать файлы .py во встроенном экземпляре IPython, а затем взаимодействовать с ними, устанавливать точки останова и т. Д.

enter image description here в полном размере

5 голосов
/ 12 июля 2012

Попробуйте Spyder, я потратил весь день, пытаясь найти IDE, которая имеет функциональность ipython, а Spyder просто выбивает его из парка.

Автозаполнение - это на высшем уровне сразу после установки, никаких файлов конфигурациии все это дерьмо, и у него есть терминал Ipython в углу, чтобы вы могли мгновенно запустить свой код.

большие пальцы вверх

4 голосов
/ 17 октября 2010

Взгляните на DreamPie .Может быть, то, что вы ищете.

3 голосов
/ 18 февраля 2011

Лично мне нравится PyScripter .К сожалению, он работает только в Windows, но также отлично работает в Wine.

2 голосов
/ 26 марта 2012

Последняя версия IdleX поддерживает IPython в IDLE, а также% edit magic.Вы можете запускать файлы из редактора IDLE в оболочке IPython разными способами: F5 (выполнить все), F9 (выполнить выбор) или Ctrl + Enter (запустить субкод).

2 голосов
/ 08 января 2011

Если вам нравится рабочий процесс в Matlab, то вам, вероятно, следует попробовать следующие два:

1 , Попробуйте комбинацию Spyder и Vim.

  • Редактировать файлы Python в Vim (Spyder может автоматически перезагрузить файл)

  • Выполнить кодв Spyder (в том же интерпретаторе, что для меня важно):

  • Используйте F9 для запуска текущего файла

  • Ctrl+F9 для запуска выбранного блока

2 , Использование Vim + conque-shell.( в коде Google )

  • Откройте ваши предпочтительные Python interpreter в Vim,

    например, просто :ConqueTermSplit python.

  • , затем визуально выберите код Python

  • нажмите F9, чтобы вставить и запустить его в Python interpreter buffer.

Примечание: еще несколько:

  • :ConqueTermVSplit python,
  • :ConqueTerm python
  • :ConqueTermVSplit rlwrap python

    Если ваш интерпретатор пропускает readline, вы можете использовать rlwrap.

1 голос
/ 16 ноября 2013

Я хочу предложить отличный плагин для vim, который обеспечивает двустороннюю интеграцию между Vim и IPython: vim-ipython.

Со страницы проекта на http://github.com/ivanov/vim-ipython:

Использование этогоплагин, вы можете отправлять строки или целые файлы для выполнения IPython, а также возвращать самоанализ объекта и дополнения слов в Vim, например, что вы получаете с: object?и объект.в IPython.

Этот плагин имеет одно большое ограничение: он не поддерживает Python 3 (планируется).

1 голос
/ 10 марта 2012
sudo apt-get install ipython

Как только вы закончите установку ipython.

Запустите ipython из терминала (просто нажмите ipython в терминале)

Чтобы запустить ravi.py файл, все, что вам нужносделать это

%run ravi.py
1 голос
/ 01 июня 2011

Вам может понравиться PySlices ...

Это своего рода гибрид оболочки / редактора, который позволяет сохранять сеанс в виде специальных (едва) измененных файлов Python, называемых файлами .pyslice.

Теперь это часть wxPython , поэтому просто установите его (v2.8.11 или новее) и запустите «python -m wx.py.PySlices» в командной строке, чтобы запустить его.*

Тем не менее, я все еще использую внешний редактор для скриптов (geany).

...