Подтвердить что ты не робот

Рабочий процесс IPython (редактировать, запускать)

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

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

4b9b3361

Ответ 1

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

    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.

Ответ 2

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

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

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

Ответ 3

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

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

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

Ответ 4

Взгляните на DreamPie. Возможно, это то, что вы ищете.

Ответ 5

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

Ответ 6

Если вам нравится рабочий поток в 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.

Ответ 7

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

Ответ 8

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

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

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

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

Ответ 9

sudo apt-get install ipython

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

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

Для запуска файла ravi.py все, что вам нужно сделать, это

%run ravi.py

Ответ 10

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

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

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

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

Ответ 11

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

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

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

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

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

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

Ответ 12

Вы можете использовать модуль автозагрузки в IPython для автоматической перезагрузки кода.

Откройте jupyter qtconsole или jupyter console и введите:

%load_ext autoreload
%autoreload 2
from your_work_file import *

Теперь каждый раз, когда вы сохраняете your_work_file.py, он будет автоматически перезагружен.

Подсказка: если вы хотите, чтобы это произошло автоматически, поместите следующие строки в свой ipython_config.py файл:

c.InteractiveShellApp.extensions = ['autoreload']         
c.InteractiveShellApp.exec_lines = ['%autoreload 2']