Рабочий процесс IPython ( edit, run)

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

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

50
задан compie 10 January 2011 в 20:33
поделиться

2 ответа

Когда я работаю с 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, который вы редактируете в своем любимом редакторе. Затем вы можете % запустить скрипт из IPython, и у вас будет доступ ко всему, что определено в файле. Например, если у вас есть следующее в файле test.py в вашем каталоге / home /self :

    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.

52
ответ дан 7 November 2019 в 10:56
поделиться

Лично я использую то, что предложил @Wayne, комбинацию vim и ipython. ..

Однако, если вы предпочитаете другой подход, взгляните на spyder .

Начиная с последней версии (1.1) ipython должен быть полностью интегрирован. Если вы загрузите более раннюю версию, с ipython в качестве внешней оболочки все будет работать нормально, но вы не получите некоторых изящных функций spyder (например, просмотра всех текущих переменных в окне рабочей области).

Spyder определенно тяжеловат, но это интересный проект.

Другой (очень, очень, новый) похожий проект, на который стоит обратить внимание, - это iep . Он будет (вроде как) работать с ipython в качестве оболочки, и я готов поспорить, что в скором времени появится более удобная интеграция с ipython. В любом случае, iep - это, по сути, более легкая альтернатива spyder.

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

0
ответ дан 7 November 2019 в 10:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: