web-dev-qa-db-fra.com

Quel IDE pour le calcul scientifique et le traçage en Python?

J'utilise actuellement R pour tous mes calculs et tracés scientifiques, mais j'aimerais explorer Python. J'utilise RStudio en tant que IDE pour R, qui en tant que IDE satisfait 100% de mes besoins en calcul scientifique, calcul des nombres, analyse des données et visualisations. Existe-t-il quelque chose de similaire pour Python? Fondamentalement, la coloration syntaxique, l'achèvement du code, l'indentation intelligente, l'exécution du code directement à partir de l'éditeur de source, le traçage dans le IDE et le contrôle de version ( git).

20
ECII

Je vous suggère fortement d'installer une distribution scientifique complète python telle que Anaconda ou Enthought Python qui contient tous les packages dont vous avez besoin pour la science ( numpy, scipy, matplotlib, numba, pandas, etc.)

Pour le calcul scientifique, la norme de facto consiste à utiliser IPython au lieu de python. Il s'agit d'un interprète amélioré python, avec batteries incluses (indentation, complétion, historique, HPC, etc.).

Pour vous IDE, comme Matlab, vous avez fondamentalement un choix: Spyder (qui en tant que support git de base). Les autres IDE sont plus agréables mais ils ne disposent pas des outils pour inspecter les jeux de données. Spyder exécute directement une session IPython qui peut être modifiée ultérieurement avec d'autres outils.

Un autre bloc-notes IPython (maintenant connu sous le nom de Jupyter ), qui est un nouvel outil très puissant, surtout si vous souhaitez documenter votre code avec du code Latex. Votre session IPython est intégrée et directement transférable à d'autres, facilement versionnable.

Vous pouvez également exécuter une présentation interactive directement dans le bloc-notes, ce qui est une bonne façon d'afficher les résultats. Considérez-le comme l'avenir de la recherche, où vos résultats sont interactifs. Quiconque peut télécharger le portable exécutera les mêmes expériences exactes.

Jetez un œil aux multiples exemples déjà disponibles:

exemple de bloc-notes IPython

Si vous n'aimez pas travailler dans le navigateur, je vous suggère ma configuration qui est:

  • Anaconda (distribution python avec packages scientifiques)

  • Sublime Text (éditeur de code léger) avec SublimeREPL , SublimeIPythonNotebook

  • Console IPython Qt (traçage en ligne, achèvement, sessions enregistrées, jeux de données enregistrés, etc.)

N'oubliez pas que tous les frontaux IPython (console IPython, IPython QtConsole, bloc-notes IPython, SublimeREPL, etc.) peuvent être connectés à la même instance centrale IPython.

Ainsi, vous pouvez facilement mélanger différents outils en même temps selon vos besoins (rédaction de documentation, rédaction de trucs scientifiques, code, présentation).

Un noyau IPython pour les gouverner tous :-)

22
Kikohs

Vous pouvez essayer Spyder qui est multi-plateforme, facile à utiliser, fournit une coloration syntaxique, un débogage interactif, etc. Vous allez toujours compter sur des bibliothèques telles que matplotlib ou NumPy , et le IDE lui-même peut ne pas être assez bon si vous avez affaire à de très grands ensembles de nombres.

Il existe également d'autres projets similaires tels que Python (x, y) ou WinPython (Windows uniquement) qui tentent de promouvoir/faciliter l'utilisation de Python pour le développement de logiciels scientifiques et d'ingénierie.

4
BenC

Commencez par n'importe quel IDE qui prend en charge (en fait beaucoup de IDE ces jours-ci prend en charge)) la coloration syntaxique, l'achèvement du code, l'indentation intelligente, l'exécution de code directement à partir de l'éditeur source. Si vous n'êtes pas sûr, reportez-vous à la SO question que IDE à utiliser pour Python?

  • Ensuite, explorez matplotlib pour vos besoins de traçage.
  • Ensuite, quel que soit IDE que vous avez choisi, recherchez un plugin git. Si votre IDE ID n'en a pas, sélectionnez-en un autre dans le IDE list qui a le plugin git nécessaire.
  • Installez les packages nécessaires comme Numpy/Scipy/Sympy. Référez-vous au lien Numérique et Scientifique

Remarque Eclipse avec PyDev pourrait fonctionner étant donné qu'il prend en charge git ( EGit ) et vous le feriez n'ont aucun problème avec l'intégration de matplotlib. En fait, il y a un autre SO thread dédié pour Matplotlib interactif via Eclipse PyDev

Enfin, si vous voulez sacrifier la facilité de développement par rapport à PyCharm ou PyDev, Scientific Python peut être une bonne option pour vous.

2
Abhijit

Je soupçonne qu'il s'agit d'un doublon (au moins partiellement) de la question this ou this . Jusqu'à présent, on m'a recommandé IDLE, PyCharm, PHPStorm, Spyder, PyDev, Aptana, Wing, IPython et DreamPie. Je ne les ai pas tous essayés mais Spyder a assez bien résisté. Dans l'ensemble, j'ai trouvé l'Enthought Python Distribution la meilleure car elle est fournie avec Scipy, Numpy et d'autres packages clés déjà inclus, ainsi que Spyder IDE. Le package complet est commercial (gratuit pour les universitaires) mais il y a aussi un distribution gratuite .

1
geotheory