Which IDE for scientific computing and plotting in Python? [closed]
Asked Answered
L

4

22

I am currently using R for all my scientific computing and plotting, but I would like to explore Python. I have been using RStudio as an IDE for R, which as an IDE fulfills 100% of my need for scientific computing, number crunching, data analysis and visualizations. Is there something similar for Python? Basically syntax highlighting, code completion, smart indentation, code execution directly from the source editor, plotting within the IDE and version control (git).

Luiseluiza answered 21/12, 2013 at 12:51 Comment(5)
This question is pretty specific, i don't think it needs to be closed.Interlanguage
@Interlanguage it still comes to down to: "Can someone recommend an alternative to this other product"Lopez
@JonClements It might really be useful for others in the future. There probably aren't that many anyway, and i don't think this would attract ads or spam.Interlanguage
@Interlanguage Although as shown - there isn't any definitive answer - and we've got a thread of a load of suggestions from other posts... sighsLopez
@JonClements Still this is very helpful for beginners.Luiseluiza
H
24

I strongly suggest that you install a complete scientific python distribution such as Anaconda or Enthought Python which contains all the packages you need for science (numpy, scipy, matplotlib, numba, pandas, etc.)

For scientific computing, the de-facto standard is to use IPython instead of python. It is a improved python interpreter, with batteries includes (indentation, completion, history, HPC, etc.).

For you IDE, Matlab-like, you have basically one choice: Spyder (which as a basic git support). The other IDE are nicers but they lack the tools for inspecting datasets. Spyder directly runs an IPython session which can be edited later on with other tools.

Another one IPython notebook (now known as Jupyter) which is a new and very powerful tool especially if you want to document your code with Latex code. Your IPython session is embedded and directly transferable to others, easily versionable.

You can also run an interactive presentation directly within the notebook, which is a nice way to show results. Think of it as the future of research, where your results are interactive. Anyone who can download the notebook will run the same exact experiments.

Take a look at the multiple examples already out there:

IPython notebook example

If you don't like to work in the browser, I suggest my setup which is:

Remember that all the IPython front ends (IPython console, IPython QtConsole, IPython Notebook, SublimeREPL, etc.) can be connected to the same IPython core instance.

So, you can easily mix different tools at the same time depending on your needs (writing documentation, writing scientific stuff, code, presentation).

One IPython core to rule them all :-)

Hypozeugma answered 21/12, 2013 at 13:4 Comment(3)
could you elaborate on how you go about hooking up the different tools to the same IPython instance – specifically, I'd like to know about SublimeREPLBhutan
Knowing how to use Vim and Tmux together can be another solution as well if you are looking for an IDE to work in.Politician
It's now 2023 and Spyder still wins for me!Ruvalcaba
A
5

You could try Spyder which is multi-platform, easy to use, provides syntax coloring, interactive debugging etc. You will still rely on libraries such as matplotlib or NumPy, and the IDE itself may not be good enough if you are dealing with very large sets of numbers.

There are also other similar projects such as Python(x,y) or WinPython (Windows only) that try to promote/facilitate the use of Python for scientific and engineering software development.

Acridine answered 21/12, 2013 at 13:6 Comment(0)
I
2

Start with any IDE which supports (in-fact lots of IDE these days has support for) syntax highlighting, code completion, smart indentation, code execution directly from the source editor. If you are unsure refer the SO Question What IDE to use for Python?

  • Next, explore matplotlib for your plotting needs.
  • Next, what ever IDE you chose, search for a git pluggin. If your chosen IDE does not have one, select another from the IDE list which has the necessary git pluggin.
  • Install the necessary packages like Numpy/ Scipy/ Sympy. Refer the link Numeric and Scientific

Note Eclipse with PyDev might work considering it has support for git (EGit)and you would have no issue with integrating matplotlib. Infact there is another SO thread dedicated for Interactive matplotlib through Eclipse PyDev

Finally, if you want to sacrifice on ease of development compared to PyCharm or PyDev, Scientific Python may be a good option for you.

Inga answered 21/12, 2013 at 13:1 Comment(2)
@Kikohs: I have never mentioned Scipy as an IDE. Please reread the answer. The answer is scripted to empower an User to make any decent IDE with a default Python Installation to be used for Scientific Computation.Inga
Your last sentence links to www.scipy.org, it was not clear for me that you mention the whole Scipy stack instead of the library scipy.Hypozeugma
D
1

I suspect this is a duplicate (at least partially) of this or this question. So far I've been recommended IDLE, PyCharm, PHPStorm, Spyder, PyDev, Aptana, Wing, IPython and DreamPie. Haven't tried them all but Spyder held up quite well. Overall I've found the Enthought Python Distribution best as it comes with Scipy, Numpy and other key packages already included, as well as Spyder IDE. The fully package is commercial (free for academics) but there's also a free distribution.

Davidadavidde answered 21/12, 2013 at 13:7 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.