186 votes

Y a-t-il quelque chose comme RStudio pour Python ?

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

Vous pouvez également faire des choses sympas comme sélectionner si vous voulez que tout ce qui se trouve avant le curseur s'exécute, ou tout ce qui se trouve après le curseur, ou simplement la partie que vous avez sélectionnée, et ainsi de suite. Et il existe des raccourcis clavier pour tout cela.

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

Y a-t-il un outil similaire pour Python? Ou avez-vous une sorte de solution de contournement similaire que vous utilisez, par exemple, dans vim?

0 votes

En dehors de RStudio, il y a 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 environnement de développement Python.

1 votes

Vous pouvez voir les détails des variables et surtout le fichier d'aide dans Rstudio

28 votes

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 de code, les raccourcis pour passer d'une zone à l'autre, l'installation interactive de packages, les onglets avec réorganisation de l'ordre, le volet de documentation, rendent tous RStudio plus facile à utiliser. Python présente certains avantages majeurs en tant que langage, mais à mon avis aucun IDE Python n'est au niveau de RStudio.

53voto

Ryan Points 61

Les cahiers IPython sont géniaux. Voici un autre outil basé sur le navigateur que j'ai récemment découvert : Rodeo. Mon impression est qu'il semble mieux prendre en charge un flux de travail similaire à RStudio.

Capture d'écran de Rodeo

2 votes

Super trouvaille! IMO RStudio est le meilleur UI pour l'analyse de données, toujours à la recherche de quelque chose de similaire pour python.

4 votes

Yhat a sorti Rodeo 2.0 (application native, pas un outil de navigateur) pour Windows, Mac & Linux en 2016. Il est beaucoup plus stable qu'auparavant et comporte de nombreuses nouvelles fonctionnalités telles que la coloration syntaxique et des tutoriels intégrés. Ça vaut vraiment le coup de jeter un coup d'œil si vous aimez RStudio!

10 votes

Ma impression au début de 2017 est que Rodeo semble toujours être un projet très récent et ne peut pas se comparer à RStudio en termes de fonctionnalités ou de personnalisations d'interface utilisateur. Et il semble assez bogué. Je crois que Spyder est beaucoup plus mature et proche d'être une véritable alternative à RStudio, mais cela dépend de chacun.

34voto

echo Points 91

Spyder ou installez python(x, y). c'est génial.

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

6 votes

J'ai cherché pendant un certain temps un flux de travail similaire à R avec un éditeur de texte pour Python et il semble que Spyder le fasse. J'ai une fenêtre d'éditeur de texte et une fenêtre Python. Je mets en surbrillance quelques lignes dans l'éditeur de texte et appuie sur F9, elles s'exécutent dans l'interpréteur. Simple, mais exactement ce que je cherchais.

0 votes

Spyder est excellent comme équivalent local de RStudio (bien qu'il lui manque l'accès facile au navigateur à distance de la version serveur).

33voto

kermit666 Points 1730

Jupyter Notebook (anciennement connu sous le nom carnet IPython) est un projet très intéressant pour la manipulation interactive des données en Python (et dans d'autres langages, y compris R). En gros, il vous permet de coder de manière interactive et de documenter ce que vous faites dans une seule interface, pour ensuite le sauvegarder sous la forme d'un :

  • carnet (.ipynb)
  • script (un fichier .py incluant seulement le code source)
  • html statique (et donc pdf également)

Vous pouvez même partager vos carnets 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 Carnets Jupyter en tant qu'articles de recherche reproductibles sur Authorea. Pour une édition collaborative par plusieurs utilisateurs, consultez Google Colab basé sur Jupyter.

Capture d'écran du Jupyter Notebook

La version par défaut du Jupyter Notebook lance une application web localement (ou vous la déployez sur un serveur) et vous l'utilisez depuis 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 nouvelle approche de l'interface utilisateur permettant plus de flexibilité dans la façon dont vous éditez vos carnets, contrôlez les widgets interactifs et exécutez même des commandes dans des émulateurs de terminal.

Il y a aussi une console Qt pour IPython, un projet similaire avec des graphiques intégrés, qui est une application de bureau.

Jupyter est un paquet Python normal et peut être installé en utilisant pip install jupyter. Cependant, pour exécuter toutes les bibliothèques scientifiques sur votre ordinateur, il peut être plus facile d'essayer les conteneurs Docker Jupyter officiels. Par exemple, en supposant que vos carnets sont dans ~/code/jupyter, vous pouvez exécuter le conteneur comme suit :

docker run -it --rm -p 8888:8888 -v ~/code/jupyter:/home/jovyan/work jupyter/datascience-notebook

0 votes

Il y a cependant une différence très importante : les personnes ayant des comptes sur la machine sur laquelle le serveur web RStudio est en cours d'exécution peuvent se connecter au serveur et l'utiliser de manière "partagée" 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, ce qui n'est pas facile à mettre en œuvre.

0 votes

Oui, c'est correct. Le travail initial dans IPython 3.x est terminé pour prendre en charge les carnets multi-utilisateurs, cependant.

2 votes

Une autre différence clé est le format (selon moi) ridicule du "carnet". Dans RStudio, vous pouvez ouvrir un script, le passer à l'interpréteur, puis interagir avec l'interpréteur. Le script est d'un côté, l'interpréteur de l'autre. Comme IPython a son propre format, vous ne pouvez pas simplement ouvrir un script, qui, s'il est modifié dans un carnet, est dans un format différent.

23voto

Elise Breda Points 241

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

Rodeo a:

  • éditeur de texte (utilise Atom en interne)
  • mode Vim / Emacs
  • une console IPython
  • autocomplétion
  • docstrings
  • possibilité de voir des graphiques, des dataframes, des variables

1 votes

Le lien fourni semble actuellement (2019-03) être obsolète. J'ai trouvé ce fil de discussion indiquant des problèmes avec Rodeo en général : github.com/yhat/rodeo/issues/655

0 votes

Rodeo a été abandonné par son développeur. Il n'y a donc pas eu de mises à jour sur cet IDE depuis 2017. À mon avis, Spyder est actuellement la meilleure alternative.

21voto

majom Points 1304

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

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

Mise à jour : En mars 2018, JupyterLab est en version bêta. "Les versions bêta sont adaptées à une utilisation générale. Pour les développeurs d'extensions JupyterLab, les API des extensions vont continuer à évoluer jusqu'à la version 1.0. À terme, JupyterLab remplacera le notebook classique de Jupyter une fois que JupyterLab atteindra la version 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 :

enter image description here

Vous pouvez organiser un notebook à côté d'une console graphique sur une fenêtre de terminal surveillant le système, tout en gardant le gestionnaire de fichiers à gauche :

enter image description here

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-built-the-open-source-jupyterlab-project/.

1 votes

Cela semble bien. Cela s'ouvre dans votre navigateur (c'est tellement évident que vous ne l'avez pas mentionné). Je trouve cela irritant. Je mettrais en place un navigateur dédié si je devais utiliser cela. Y a-t-il un navigateur recommandé pour jupyterlab?

1 votes

Merci pour le lien! Je l'ai ajouté à la description.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X