Чи є щось на зразок RStudio для Python? [зачинено]


172

У RStudio можна запустити частини коду у вікні редагування коду, а результати з’являться на консолі.

Ви також можете робити цікаві речі, такі як вибір того, чи потрібно, щоб все, що рухається курсором, запускалося, або все після курсору, або просто вибрану частину тощо. А для всіх цих матеріалів є гарячі клавіші.

Це як крок над інтерактивною оболонкою в Python - там ви можете використовувати readline, щоб повернутися до попередніх окремих рядків, але в ній немає «поняття», що таке функція, розділ коду тощо.

Чи є такий інструмент для Python? Або у вас є якийсь подібний спосіб вирішення, який ви використовуєте, скажімо, у vim?

python  ide 

Крім того, в RStudio є підтримка файлів .Rnw, які я вважаю особливо корисними для створення автоматизованих PDF-файлів. Я все ще шукаю хорошого Python IDE.
moldovean

1
Ви можете побачити деталі змінних та найголовніше довідковий файл у Rstudio
Ankit

18
Eclipse PyDev, Jupyter, Spyder / Anaconda - гідні замінники, але жоден з них не є таким простим у роботі, як RStudio. Заповнення коду, ярлики для комутації областей, інтерактивна установка пакетів, вкладки з перестановкою порядку, панель документації - все це спрощує використання RStudio. Python має величезні переваги як мови, але IMHO no Python IDE не знаходиться на рівні RStudio.

2
Я почав використовувати Rodeo, однак це дуже баггі. Ніщо не порівнюється з RStudio. У Python завжди буде така слабкість для аналізу даних та дослідження даних до тих пір, поки належний IDE не буде зроблений з основним завданням для аналізу та дослідження даних.
кодування ручки

1
RStudio тепер підтримує Python: blog.rstudio.com/2018/10/09/…
Олівер Олівер

Відповіді:


51

Ноутбуки IPython - приголомшливі. Ось ще один, новіший інструмент на основі браузера, який я нещодавно виявив: Rodeo . Моє враження, що, здається, він краще підтримує робочий процес, схожий на RStudio.

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


1
Чудова знахідка! IMO RStudio - найкращий інтерфейс для аналізу даних, який завжди шукає щось подібне для python.
візант

4
Yhat випустив Rodeo 2.0 (рідний додаток, не інструмент браузера) для Windows, Mac та Linux у 2016 році. Це набагато стабільніше, ніж це було, та має багато нових функцій, таких як підсвічування синтаксису та інтегровані навчальні посібники. Однозначно варто перевірити, чи подобається вам RStudio!
Еліза Бреда

8
Моє враження на початку 2017 року полягає в тому, що Rodeo все ще відчуває себе дуже новим проектом і не може порівнювати з RStudio за характеристиками або налаштуваннями інтерфейсу користувача. І це здається досить баггі. Я вважаю, що Spyder набагато зріліший і близький до справжньої альтернативи RStudio, але YMMV.
Джалі

Оголошення "рідний додаток, а не браузерний інструмент": з того, що я бачу, Rodeo 2.0 використовує Electron . Він все ще є інструментом для веб-переглядачів, тільки тепер він оснащений власним браузером, щоб він відчував себе рідним додатком. (Варто також згадати, що це стосується залежності від NodeJS.)
Філіп

1
Надане посилання на сьогодні (2019-03) здається застарілим. Я знайшов цю тему, де викладено проблеми з Rodeo взагалі: github.com/yhat/rodeo/isissue/655
Qaswed

32

Jupyter Notebook (раніше відомий як ноутбук IPython ) - це дійсно класний проект для інтерактивного маніпулювання даними на Python (та інших мовах, включаючи R). Це в основному дозволяє вам інтерактивно кодувати і документувати те, що ви робите в одному інтерфейсі, а згодом зберігати його як:

  • зошит ( .ipynb )
  • скрипт ( файл .py, що включає лише вихідний код)
  • статичний html (а отже, і pdf)

Ви навіть можете ділитися своїми ноутбуками в Інтернеті з іншими за допомогою сервісу nbviewer , де люди публікують цілі книги . Крім того, GitHub надає ваші .ipynb файли. Ви можете публікувати свої зошити Юпітера як статті, що відтворюються на Authorea . Для спільного редагування кількома користувачами перегляньте Google Colab, побудований на вершині Юпітера.

Скріншот ноутбука Юпітера

Версія для ноутбука Jupyter за замовчуванням запускає веб-додаток локально (або ви розгортаєте його на сервері), і ви використовуєте його у своєму браузері. Як Раян також згадував у своїй відповіді , Rodeo - це інтерфейс, схожий на RStudio, побудований поверх ядра Юпітера.

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

Однак є дуже важлива відмінність: люди, у яких є облікові записи на машині, на якій працює веб-сервер RStudio, можуть увійти на сервер і використовувати його "час обміну" через один і той же порт. IPython 2.x не підтримує це: якщо ви хочете, щоб 2 люди мали доступ до нього на одному сервері, вам потрібно запустити 2 екземпляри сервера на двох різних портах, що не може легко змінювати масштаб.
Ларікс Декідуа

Так, це правильно. Початкова робота в IPython 3.x проводиться для підтримки багатокористувацьких ноутбуків.
metakermit

1
Ще одна ключова відмінність - смішний формат "зошита" (IMHO). У RStudio ви можете відкрити сценарій, передати його інтерпретатору, а потім взаємодіяти з перекладачем. Сценарій - з одного боку, перекладач - з іншого. Оскільки IPython має власний формат, ви не можете просто відкрити скрипт, який, якщо він відредагований у зошиті, має інший формат.
Майкл

Ви можете імпортувати дослівно-дослідний сценарій як модуль і майстер із будь-якими змінними або функціями, які він визначає всередині ноутбука. У зворотному напрямку ви можете експортувати ноутбук IPython як файл .py безпосередньо. Однак це не IDE точно.
metakermit

1
@ kermit666 JupyterHub ( github.com/jupyter/jupyterhub ) - це рішення, яке я зараз використовую для багатокористувацьких ноутбуків, доступних через Інтернет. Працює досить непогано. Рекомендовано
Laryx Decidua

31

шпидером або встановленням python (x, y). це здорово.

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


5
Я шукав робочий процес на зразок R з текстовим редактором для python досить довгий час, і шпидер, здається, це робить. У мене є вікно редактора тексту та вікно пітона. Я виділяю кілька рядків у текстовому редакторі і натискаю F9, і вони працюють в інтерпретаторі. Просто, але саме те, що я шукав.
kpierce8

Spyder чудово підходить як локальний еквівалент RStudio (хоча він не має простого віддаленого доступу до браузера до серверної версії).
Майкл

22

Ознайомтеся з Rodeo від Yhat, якщо ви шукаєте щось на зразок RStudio для Python.

Родео має:

  • текстовий редактор (використовує Atom під кришкою)
  • Режим Vim / Emacs
  • консоль IPython
  • автозаповнення
  • docstrings
  • можливість перегляду графіків, фреймів даних, змінних

1
Надане посилання на сьогодні (2019-03) здається застарілим. Я знайшов цю тему, де викладено проблеми з Rodeo взагалі: github.com/yhat/rodeo/isissue/655
Qaswed

22

Ви можете заглянути в JupyterLab (нове покоління Jupyter Notbooks): https://github.com/jupyter/jupyterlab .

JupyterLab має на меті створити в Інтернеті більш схожий на робочому столі.

Оновлення : Станом на березень 2018 року JupyterLab знаходиться в бета-версії. "Бета-версії підходять для загального використання. Для розробників розширень JupyterLab API-інтерфейси продовжуватимуться розвиватися до випуску 1.0. Зрештою, JupyterLab замінить класичний ноутбук Jupyter після того, як JupyterLab досягне 1,0. "

Щоб запустити лабораторію Юпітера як настільний додаток, див. 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- вбудований-the-open-source-jupyterlab-project / .


1
Виглядає добре. Це відкриється у вашому браузері (це так очевидно, що ви не згадали про нього). Я вважаю це дратівливим. Я б створив спеціальний браузер, якби цим користувався. Чи є рекомендований браузер для jupyterlab?
PatrickT

1
Дякуємо за посилання! Я додав його до опису.
травень

14

Pycharm - це дійсно гідна IDE. З того, що я бачив до цього часу, він найбільш схожий на Рстудіо. Ще одна приємна деталь - це те, що вона дозволяє встановлювати нові бібліотеки Python таким чином, як Rstudio (що інакше може бути кошмаром). Зараз існує безкоштовне видання "Громада".

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


Я можу додати, що в ньому є підтримка файлів jupyter / ipython, тому ви можете комбінувати її з верхньою відповіддю. (Не впевнений, що це частина безкоштовної версії).
Марк

PyCharm також дозволить вам запустити підбірку коду!
4d11

7

Думаю, варто згадати, що випущено попередній перегляд RStudio v1.1.359. Він має функцію терміналу, яку можна використовувати для Python.

Завантажити можна тут

Документація доступна тут


4

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


0

Для приємнішої інтерактивної оболонки для Python, подивіться на DreamPie . Це насправді не IDE (як здається RStudio?)


0

Крила IDE, і, ймовірно, також інші IDE Python, такі як PyCharm та PyDev, мають такі функції. У Wing ви можете або вибрати і виконати код в інтегрованій програмі Shet Shell, або якщо ви налагоджуєте щось, ви можете взаємодіяти з призупиненою програмою налагодження в оболонці (називається зондом налагодження). Існує також спеціальна підтримка matplotlib, якщо ви використовуєте це, щоб ви могли працювати з сюжетами інтерактивно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.