Рабочий процесс IPython (редактировать, запускать)
Есть ли GUI для IPython, который позволяет мне открывать/запускать/редактировать файлы Python? Мой способ работы в IDLE состоит в том, чтобы открыть два окна: оболочку и файл .py. Я редактирую файл .py, запускаю его и взаимодействую с результатами в оболочке.
Возможно ли использовать IPython? Или есть альтернативный способ работы?
Ответы
Ответ 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, а затем взаимодействовать с ними, устанавливать контрольные точки и т.д.
полноразмерный
Ответ 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']