Existe-t-il quelque chose comme RStudio pour Python? [fermé]

172

Dans RStudio, vous pouvez exécuter des parties de code dans la fenêtre d'édition de code et les résultats s'affichent dans la console.

Vous pouvez également faire des choses intéressantes comme choisir si vous voulez que tout ce qui va jusqu'au curseur s'exécute, ou tout ce qui se trouve après le curseur, ou simplement la partie que vous avez sélectionnée, etc. Et il y a des raccourcis clavier pour tout ça.

C'est comme un pas au-dessus du shell interactif en Python - là, vous pouvez utiliser readline pour revenir aux lignes individuelles précédentes, mais il n'a aucun "concept" de ce qu'est une fonction, une section de code, etc.

Existe-t-il un outil comme celui-là pour Python? Ou avez-vous une sorte de solution de contournement similaire que vous utilisez, par exemple, dans vim?


la source
en plus dans RStudio, il existe un support pour les fichiers .Rnw que je trouve particulièrement utiles pour créer des fichiers pdf automatisés. Je suis toujours à la recherche d'un bon IDE Python.
moldave
1
Vous pouvez voir les détails des variables et surtout le fichier d'aide dans le Rstudio
Ankit
18
Eclipse PyDev, Jupyter et Spyder / Anaconda sont des substituts décents , mais aucun d'entre eux n'est aussi facile à utiliser que RStudio. La complétion du code, les raccourcis pour changer de zone, l'installation interactive des packages, les onglets avec repositionnement de la commande, le volet de documentation, tous facilitent l'utilisation de RStudio. Python a d'énormes avantages en tant que langage, mais à mon humble avis, aucun IDE Python n'est au niveau de RStudio.
2
J'ai commencé à utiliser Rodeo, mais il est très bogué. Rien ne se compare à RStudio. Python aura toujours cette faiblesse pour l'analyse et l'exploration des données jusqu'à ce qu'un IDE approprié soit créé avec l'analyse et l'exploration des données comme objectif principal.
codingknob
1
RStudio prend désormais en charge Python: blog.rstudio.com/2018/10/09/…
Oliver Oliver

Réponses:

51

Les notebooks IPython sont géniaux. Voici un autre outil plus récent basé sur un navigateur que j'ai récemment découvert: Rodeo . J'ai l'impression qu'il semble mieux prendre en charge un flux de travail de type RStudio.

Capture d'écran Rodeo

Ryan
la source
1
Super trouvaille! IMO RStudio est la meilleure interface utilisateur pour l'analyse de données, toujours à la recherche de quelque chose de similaire pour python.
visitantz
4
Yhat a publié Rodeo 2.0 (application native pas un outil de navigateur) pour Windows, Mac et Linux en 2016. Il est beaucoup plus stable qu'il ne l'était et possède de nombreuses nouvelles fonctionnalités telles que la coloration syntaxique et des didacticiels intégrés. Vaut vraiment le détour si vous aimez RStudio!
Elise Breda du
8
Mon impression au début de 2017 est que Rodeo ressemble toujours à un tout nouveau projet et ne peut pas se comparer à RStudio en termes de fonctionnalités ou de personnalisations de l'interface utilisateur. Et cela semble assez bogué. Je pense que Spyder est beaucoup plus mature et proche d'être une véritable alternative à RStudio, mais YMMV.
Jealie
Annonce "application native pas un outil de navigateur": D'après ce que je peux voir, Rodeo 2.0 utilise Electron . Il s'agit toujours d'un outil de navigateur, mais il est maintenant livré avec son propre navigateur pour donner l'impression que c'est une application native. (Il convient également de mentionner qu'il est livré avec une dépendance à NodeJS.)
Phillip
1
Le lien fourni semble actuellement (2019-03) être obsolète. J'ai trouvé ce fil indiquant des problèmes avec Rodeo en général: github.com/yhat/rodeo/issues/655
Qaswed
32

Jupyter Notebook (précédemment connu sous le nom de notebook IPython ) est un projet vraiment cool pour la manipulation interactive de données en Python (et dans d'autres langages, y compris R). Il vous permet essentiellement de coder et de documenter de manière interactive ce que vous faites dans une seule interface, puis de l'enregistrer en tant que:

  • cahier ( .ipynb )
  • script (un fichier .py contenant uniquement le code source)
  • HTML statique (et donc aussi pdf)

Vous pouvez même partager vos blocs-notes en ligne avec d'autres en utilisant le service nbviewer , où les gens publient des livres entiers . De plus, GitHub rend vos fichiers .ipynb . Vous pouvez publier vos notebooks Jupyter sous forme d'articles de recherche reproductibles sur Authorea . Pour une édition collaborative par plusieurs utilisateurs, consultez Google Colab basé sur Jupyter.

Capture d'écran de Jupyter Notebook

La version par défaut de Jupyter Notebook démarre une application Web localement (ou vous la déployez sur un serveur) et vous l'utilisez à partir de votre navigateur. Comme Ryan l'a également mentionné dans sa réponse , Rodeo est une interface plus similaire à RStudio construite sur le noyau Jupyter.

JupyterLab est une version plus récente de l'interface utilisateur permettant plus de flexibilité dans la manière dont vous modifiez vos blocs-notes, contrôlez les widgets interactifs et même exécutez des commandes dans les émulateurs de terminal.

Il y a aussi une console Qt pour IPython , un projet similaire avec des tracés en ligne, qui est une application de bureau.

Jupyter est un package Python normal et peut être installé à l'aide de pip install jupyter. Pour que toutes les bibliothèques scientifiques s'exécutent sur votre ordinateur, cependant, il peut être plus facile d'essayer les conteneurs Jupyter Docker officiels . Par exemple, en supposant que vos blocs-notes se trouvent dans ~ / code / jupyter , vous pouvez exécuter le conteneur comme:

docker run -it --rm -p 8888:8888 -v ~/code/jupyter:/home/jovyan/work jupyter/datascience-notebook
metakermit
la source
Il y a cependant une différence très importante: les personnes qui ont des comptes sur la machine sur laquelle le serveur Web RStudio est exécuté peuvent se connecter au serveur et l'utiliser en «temps partagé» sur le même port. IPython 2.x ne prend pas en charge cela: si vous voulez que 2 personnes y accèdent sur le même serveur, vous devez exécuter 2 instances de serveur sur 2 ports différents qui ne s'adaptent pas facilement.
Laryx Decidua
Oui c'est correct. Cependant, le travail initial dans IPython 3.x est effectué pour prendre en charge les blocs-notes multi-utilisateurs.
metakermit
1
Une autre différence clé est le format ridicule (IMHO) du «cahier». Dans RStudio, vous pouvez ouvrir un script, le transmettre à l'interpréteur, puis interagir avec l'interpréteur. Le script est d'un côté, l'interprète de l'autre. Comme IPython a son propre format, vous ne pouvez pas simplement ouvrir un script qui, s'il est édité dans un bloc-notes, est dans un format différent.
Michael
Vous pouvez importer un script textuellement en tant que module et bricoler avec toutes les variables ou fonctions qu'il définit à l'intérieur du cahier. Dans le sens inverse, vous pouvez exporter directement un notebook IPython sous forme de fichier .py. Ce n'est pas un IDE à coup sûr.
metakermit
1
@ kermit666 JupyterHub ( github.com/jupyter/jupyterhub ) est la solution que j'utilise actuellement pour les notebooks multi-utilisateurs accessibles sur le Web. Fonctionne assez bien. Conseillé.
Laryx Decidua
31

spyder ou installez python (x, y). c'est super.

Si vous êtes nouveau dans Python, vous pouvez installer la distribution gratuite Anaconda ( http://continuum.io/downloads.html ), qui installera Spyder pour vous, ainsi que Python 2.7 et IPython. Spyder est très similaire à RStudio.

écho
la source
5
Je cherchais un flux de travail comme R avec un éditeur de texte pour python depuis un certain temps et spyder semble le faire. J'ai une fenêtre d'éditeur de texte et une fenêtre python. Je surligne quelques lignes dans l'éditeur de texte et frappe F9 et elles s'exécutent dans l'interpréteur. Simple, mais exactement ce que je recherchais.
kpierce8
Spyder est excellent en tant qu'équivalent local de RStudio (bien qu'il ne dispose pas de l'accès facile au navigateur distant de la version serveur).
Michael
22

Découvrez Rodeo de Yhat si vous recherchez quelque chose comme RStudio pour Python.

Rodeo a:

  • éditeur de texte (utilise Atom sous le capot)
  • Mode Vim / Emacs
  • une console IPython
  • Saisie automatique
  • docstrings
  • possibilité de voir des graphiques, des dataframes, des variables
Elise Breda
la source
1
Le lien fourni semble actuellement (2019-03) être obsolète. J'ai trouvé ce fil indiquant des problèmes avec Rodeo en général: github.com/yhat/rodeo/issues/655
Qaswed
22

Vous voudrez peut-être vous pencher sur JupyterLab (la prochaine génération de Jupyter Notbooks): https://github.com/jupyter/jupyterlab .

JupyterLab vise à créer une expérience plus semblable à un bureau sur le Web.

Mise à jour : depuis mars 2018, JupyterLab est en version bêta. "Les versions bêta sont adaptées à un usage général. Pour les développeurs d'extensions JupyterLab, les API d'extension continueront d'évoluer jusqu'à la version 1.0. Finalement, JupyterLab remplacera le Jupyter Notebook classique une fois que JupyterLab atteindra 1.0. "

Pour exécuter Jupyter Lab en tant qu'application de bureau, consultez christopherroach.com/articles/jupyterlab-desktop-app (merci à PatrickT ).

Voici un aperçu rapide:

entrez la description de l'image ici

Vous pouvez disposer un notebook à côté d'une console graphique sur un terminal qui surveille le système, tout en gardant le gestionnaire de fichiers sur la gauche:

entrez la description de l'image ici

Pour plus de détails, voir: https://blog.jupyter.org/2016/07/14/jupyter-lab-alpha/ et ici: http://www.techatbloomberg.com/blog/inside-the-collaboration-that- construit-le-projet-open-source-jupyterlab / .

majom
la source
1
À l'air cool. Cela s'ouvre dans votre navigateur (c'est tellement évident que vous ne l'avez pas mentionné). Je trouve cela irritant. J'aurais mis en place un navigateur dédié si je devais l'utiliser. Existe-t-il un navigateur recommandé pour jupyterlab?
PatrickT
1
Merci pour le lien! Je l'ai ajouté à la description.
majom
14

Pycharm est un IDE vraiment décent. D'après ce que j'ai vu jusqu'à présent, c'est le plus similaire à Rstudio. Un autre élément intéressant est qu'il vous permet d'installer de nouvelles bibliothèques Python d'une manière similaire à Rstudio (qui autrement peut être un cauchemar). Il existe maintenant une édition gratuite «communautaire».

entrez la description de l'image ici

mmann1123
la source
Je pourrais ajouter qu'il prend en charge les fichiers jupyter / ipython, vous pouvez donc le combiner avec la réponse supérieure. (Je ne sais pas si cela fait partie de la version gratuite).
Marquez le
PyCharm vous permet également d'exécuter une sélection de code!
4d11
7

Je pense qu'il vaut la peine de mentionner que RStudio v1.1.359 Preview est sorti. Il a une fonctionnalité de terminal qui peut être utilisée pour Python.

Le téléchargement est disponible ici

La documentation est disponible ici

sankalp
la source
4

vous avez besoin de spyder! https://code.google.com/p/spyderlib/
Spyder (anciennement Pydee) est un puissant environnement de développement interactif pour le langage Python avec des fonctionnalités avancées d'édition, de test interactif, de débogage et d'introspection

duhan
la source
0

Pour un shell interactif plus agréable pour Python, jetez un œil à DreamPie . Ce n'est pas vraiment un IDE (comme RStudio semble l'être?)

Steven
la source
0

Wing IDE, et probablement aussi d'autres IDE Python comme PyCharm et PyDev ont des fonctionnalités comme celle-ci. Dans Wing, vous pouvez sélectionner et exécuter du code dans le shell Python intégré ou si vous déboguez quelque chose, vous pouvez interagir avec le programme de débogage suspendu dans un shell (appelé la sonde de débogage). Il existe également un support spécial pour matplotlib, au cas où vous l'utiliseriez, afin que vous puissiez travailler avec des tracés de manière interactive.

Wingware
la source