Есть ли что-то вроде RStudio для Python? [закрыто]

172

В RStudio вы можете запускать части кода в окне редактирования кода, а результаты отображаются в консоли.

Вы также можете делать интересные вещи, такие как выбор: хотите ли вы, чтобы все, вплоть до курсора, запускалось, или все после курсора, или только часть, которую вы выбрали, и так далее. И есть горячие клавиши для всего этого.

Это как шаг над интерактивной оболочкой в ​​Python - там вы можете использовать readline, чтобы вернуться к предыдущим отдельным строкам, но у него нет «понятия» о том, что такое функция, фрагмент кода и т. Д.

Есть ли такой инструмент для Python? Или у вас есть какой-то подобный обходной путь, который вы используете, скажем, в vim?


источник
кроме того, в RStudio есть поддержка файлов .Rnw, которые я считаю особенно полезными для создания автоматизированных файлов PDF. Я все еще ищу хорошую среду разработки Python.
moldovean
1
Вы можете увидеть детали переменных и наиболее важный файл справки в Rstudio
Ankit
18
Eclipse PyDev, Jupyter и Spyder / Anaconda являются достойными заменителями, но ни с одним из них не так легко работать, как с RStudio. Завершение кода, ярлыки для переключения областей, интерактивная установка пакетов, вкладки с изменением порядка, панель документации - все это делает RStudio проще в использовании. Python имеет некоторые огромные преимущества в качестве языка, но ИМХО нет Python IDE на уровне RStudio.
2
Я начал использовать Родео, однако он очень глючит. Ничто не сравнится с RStudio. У Python всегда будет такой недостаток для анализа и исследования данных, пока не будет создана надлежащая среда разработки, в которой основной задачей будет анализ и исследование данных.
codingknob
1
RStudio теперь поддерживает Python: blog.rstudio.com/2018/10/09/…
Оливер Оливер

Ответы:

51

IPython Notebooks потрясающие. Вот еще один, более новый браузерный инструмент, который я недавно обнаружил: Rodeo . У меня сложилось впечатление, что он лучше поддерживает рабочий процесс, похожий на RStudio.

Скриншот родео

Райан
источник
1
Отличная находка! IMO RStudio - лучший интерфейс для анализа данных, всегда ищущий что-то похожее на python.
визитант
4
Yhat выпустил Rodeo 2.0 (нативное приложение, а не инструмент браузера) для Windows, Mac и Linux в 2016 году. Он намного более стабилен, чем был, и имеет много новых функций, таких как подсветка синтаксиса и интегрированные учебные пособия. Определенно стоит проверить, нравится ли вам RStudio!
Элиза Бреда
8
В начале 2017 года у меня сложилось впечатление, что Rodeo все еще ощущается как совершенно новый проект и не может сравниться с RStudio с точки зрения функций или настроек пользовательского интерфейса. И это кажется довольно глючным. Я считаю, что Spyder гораздо более зрелый и близкий к реальной альтернативе RStudio, но YMMV.
Jealie
Объявление «родное приложение, а не инструмент браузера». Из того, что я вижу, Rodeo 2.0 использует Electron . Это все еще браузерный инструмент, только теперь он поставляется со своим собственным браузером, чтобы он выглядел как собственное приложение. (Стоит также упомянуть, что он зависит от NodeJS.)
Филипп
1
Предоставленная ссылка в настоящее время (2019-03) устарела. Я нашел эту
Qaswed,
32

Jupyter Notebook (ранее известный как IPython notebook ) - это действительно классный проект для интерактивного манипулирования данными в Python (и других языках, включая R). В основном это позволяет вам интерактивно кодировать и документировать то, что вы делаете в одном интерфейсе, а затем сохранить его как:

  • блокнот ( .ipynb )
  • скрипт ( файл .py, включающий только исходный код)
  • статический HTML (и, следовательно, PDF)

Вы даже можете поделиться своими ноутбуками в Интернете с другими, используя сервис nbviewer , где люди публикуют целые книги . Кроме того, GitHub отображает ваши файлы .ipynb . Вы можете опубликовать свои ноутбуки Jupyter в качестве воспроизводимых исследовательских статей об авторе . Для совместного редактирования несколькими пользователями, посмотрите Google Colab, созданный поверх Jupyter.

Скриншот ноутбука Jupyter

Версия Jupyter Notebook по умолчанию запускает веб-приложение локально (или вы развертываете его на сервере), и вы используете его из браузера. Как Райан также упомянул в своем ответе , Rodeo - это интерфейс, более похожий на RStudio, построенный поверх ядра Jupyter.

JupyterLab - это новый интерфейс пользовательского интерфейса, позволяющий более гибко редактировать свои записные книжки, управлять интерактивными виджетами и даже запускать команды в эмуляторах терминала.

Также есть консоль Qt для IPython , аналогичного проекта со встроенными графиками, который является настольным приложением.

Jupyter - это обычный пакет Python, который можно установить с помощью pip install jupyter. Однако, чтобы все научные библиотеки работали на вашем компьютере, было бы проще попробовать официальные контейнеры Jupyter Docker . Например, если ваши записные книжки находятся в ~ / code / jupyter , вы можете запустить контейнер как:

docker run -it --rm -p 8888:8888 -v ~/code/jupyter:/home/jovyan/work jupyter/datascience-notebook
metakermit
источник
Однако есть очень важное различие: люди, имеющие учетные записи на компьютере, на котором работает веб-сервер RStudio, могут войти на сервер и использовать его с разделением времени через один и тот же порт. IPython 2.x не поддерживает это: если вы хотите, чтобы 2 человека имели к нему доступ на одном и том же сервере, вы должны запустить 2 экземпляра сервера на 2 разных портах, что не легко масштабируется.
Ларикс Децидуа
Да, это правильно. Однако начальная работа в IPython 3.x проводится для поддержки многопользовательских ноутбуков.
metakermit
1
Еще одним ключевым отличием является (ИМХО) нелепый формат «записной книжки». В RStudio вы можете открыть скрипт, передать его интерпретатору и затем взаимодействовать с интерпретатором. Сценарий с одной стороны, переводчик с другой. Поскольку IPython имеет свой собственный формат, вы не можете просто открыть скрипт, который при редактировании в блокноте имеет другой формат.
Майкл
Вы можете импортировать сценарий дословно в виде модуля и связываться с любыми переменными или функциями, которые он определяет в блокноте. В обратном направлении вы можете напрямую экспортировать блокнот IPython в виде файла .py. Хотя это точно не IDE.
metakermit
1
@ kermit666 JupyterHub ( github.com/jupyter/jupyterhub ) - это решение, которое я сейчас использую для многопользовательских ноутбуков, доступных через Интернет. Работает довольно красиво. Рекомендуемые.
Ларикс Децидуа
31

spyder или установить python (x, y). это просто супер.

Если вы новичок в Python, вы можете установить бесплатный дистрибутив Anaconda ( http://continuum.io/downloads.html ), который установит Spyder для вас, а также Python 2.7 и IPython. Spyder очень похож на RStudio.

эхо
источник
5
Я давно искал рабочий процесс вроде R с текстовым редактором для Python, и Spyder, похоже, делает это. У меня есть окно текстового редактора и окно Python. Я выделяю несколько строк в текстовом редакторе и нажимаю клавишу F9, и они запускаются в интерпретаторе. Просто, но именно то, что я искал.
kpierce8
Spyder великолепен в качестве локального эквивалента RStudio (хотя ему не хватает простого удаленного доступа через браузер серверной версии).
Майкл
22

Проверьте Rodeo от Yhat, если вы ищете что-то вроде RStudio для Python.

Родео имеет:

  • текстовый редактор (использует Atom под капотом)
  • Режим Vim / Emacs
  • консоль IPython
  • автозаполнения
  • строки документации
  • способность видеть графики, кадры данных, переменные
Элиз Бреда
источник
1
Предоставленная ссылка в настоящее время (2019-03) устарела. Я нашел эту
Qaswed,
22

Возможно, вы захотите взглянуть на JupyterLab (следующее поколение Jupyter Notbooks): https://github.com/jupyter/jupyterlab .

JupyterLab стремится создать более похожий на десктоп опыт в Интернете.

Обновление : по состоянию на март 2018 года JupyterLab находится в бета-версии. «Бета-версии подходят для общего использования. Для разработчиков расширений JupyterLab API расширения будут продолжать развиваться до выпуска 1.0. В конечном итоге JupyterLab заменит классический ноутбук Jupyter после того, как JupyterLab достигнет 1.0 ».

Чтобы запустить Jupyter Lab в качестве настольного приложения, см. Christopherroach.com/articles/jupyterlab-desktop-app (спасибо PatrickT ).

Вот быстрый предварительный просмотр:

введите описание изображения здесь

Вы можете расположить ноутбук рядом с графической консолью поверх терминала, который следит за системой, оставив файловый менеджер слева:

введите описание изображения здесь

Для получения дополнительной информации см .: https://blog.jupyter.org/2016/07/14/jupyter-lab-alpha/ и здесь: http://www.techatbloomberg.com/blog/inside-the-collaboration-that- build-the-open-source-jupyterlab-project / .

majom
источник
1
Выглядит хорошо. Это откроется в вашем браузере (это так очевидно, что вы не упомянули об этом). Я нахожу это раздражающим. Я бы настроил специальный браузер, если бы использовал это. Есть ли рекомендуемый браузер для jupyterlab?
PatrickT
1
Спасибо за ссылку! Я добавил это в описание.
majom
14

Pycharm - действительно достойная среда. Из того, что я видел до сих пор, он наиболее похож на Rstudio. Другим приятным моментом является то, что он позволяет устанавливать новые библиотеки Python аналогично Rstudio (что в противном случае может стать кошмаром). Теперь есть бесплатная версия для сообщества.

введите описание изображения здесь

mmann1123
источник
Я мог бы добавить, что он поддерживает файлы jupyter / ipython, поэтому вы можете объединить его с верхним ответом. (Не уверен, что это часть бесплатной версии).
Отметить
PyCharm также позволяет вам запускать выбор кода тоже!
4d11
7

Я думаю, что стоит упомянуть, что выпущен RStudio v1.1.359 Preview. Он имеет функцию терминала, которую можно использовать для Python.

Скачать можно здесь

Документация доступна здесь

Sankalp
источник
4

Spyder это вам нужно! https://code.google.com/p/spyderlib/
Spyder (ранее известный как Pydee) - это мощная интерактивная среда разработки для языка Python с расширенными функциями редактирования, интерактивного тестирования, отладки и самоанализа

Духан
источник
0

Чтобы получить более приятную интерактивную оболочку для Python, взгляните на DreamPie . Хотя это на самом деле не IDE (как кажется, RStudio?)

Стивен
источник
0

Wing IDE, а также, возможно, другие Python IDE, такие как PyCharm и PyDev, имеют такие функции В Wing вы можете выбрать и выполнить код в интегрированной оболочке Python или, если вы что-то отлаживаете, вы можете взаимодействовать с приостановленной отладочной программой в оболочке (называемой Debug Probe). Также имеется специальная поддержка matplotlib, если вы используете ее, чтобы вы могли работать с графиками в интерактивном режиме.

Wingware
источник