Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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).

like image 215
ECII Avatar asked Dec 21 '13 12:12

ECII


People also ask

What is the best IDE for data science Python?

Visual Studio Code VS Code is one of the most used Python IDEs. The IDE is known for its tools such as IntelliSense that allows features beyond syntax highlighting and smart completions based on variable types, imported modules, and functions definition.

Can Python be used for scientific computing?

Python has built-in support for scientific computing. Most Python distributions include the SciPy ecosystem (open source) which includes SciPy (a SciPy library), a numerical computation package called NumPy, and multiple independent toolkits, each known as a Scikits.

Which IDE is best for data visualization?

“I have tried most of the popular IDE's for Python and hands down the best one in my opinion is PyCharm. It has a very nice debugger, plays nicely with git, and works easily with the use of multiple Python versions with virtualenv.

What IDE do most data scientists use?

JupyterLab. Yep — it's the most popular IDE among data scientists.


3 Answers

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:

  • Anaconda (python distribution with science packages)

  • Sublime Text 3 (lightweight code editor) with the SublimeREPL, SublimeIPythonNotebook

  • IPython Qt console (inline plotting, completion, saved sessions, saved datasets, etc.)

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 :-)

like image 128
Kirell Avatar answered Sep 22 '22 16:09

Kirell


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.

like image 24
BenC Avatar answered Sep 24 '22 16:09

BenC


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.

like image 45
Abhijit Avatar answered Sep 22 '22 16:09

Abhijit