In this post I will discuss two Python Integrated Development Environments (IDE); Rodeo and Spyder. Both IDEs might be useful for researchers used to work with R and RStudio (a very good and popular IDE for R) because they offer similar functionalities and graphical interfaces as RStudio. That is, Rodeo and Spyder can be seen as the RStudio for Python.
Many researchers use software such as SPSS, STATA, Mplus, and Matlab for doing their analysis. R and Python are free and open source alternatives to, mainly, Matlab. But also users of the other, more graphical interface (GUI) centred, software (e.g., STATA, SPSS) should also consider moving to open source software. I use both Python and R; python for creating Psychology experiments and R for data analysis. Python is a general-purpose language whereas R is a statistical programming language. Thus, Python offers a lot more. I have noticed that when handling a lot of data my Python scripts tend to be quicker than the ones I produce in R (might get back to this in a future post). Many cognitive scientists have been using Matlab for both for collecting data (i.e., programming experiments) and analysing data. Therefore, Python with the right IDE is also a competitor to Matlab. Which IDEs are the best alternatives?
Rodeo – a RStudio clone?
Recently I read a blog post (RStudio Clone for Python – Rodeo) in which the author asked the following question: So have you been looking for something like RStudio, but for Python? (Italicized by me). The authors answer was the (IDE) Rodeo. Rodeo uses the Ace Editor as the underlying layer, which is the same that powers RStudio.
In the video above you can see one way to start Rodeo IDE on Ubuntu. I also show how to open and run a Python script. Using the Ace Editor, Rodeo also look like RStudio. As can be read on Rodeos GitHub page:
Rodeo is an IDE that’s built expressly for doing data science in Python. Think of it as a light weight alternative to the IPython Notebook.
As you can see in the images below the graphical interfaces of Rodeo (left) and RStudio (right) is quite similar. The version installed I installed via pip (i.e., pip install -U rodeo) is 0.44 and is a flask app.
I was, a while ago, looking for something like RStudio but for Python. After testing a couple of IDEs (e.g., Ninja IDE, PyCharm) I settled with Spyder. Spyder is an acronym for Scientific PYthon Development EnviRonment and it offers a lot. The editor is a multi-language editor with a function/class browser. It has support for code analysis (using pyflakes and pylint), code completion, horizontal and vertical splitting, etc.
You can choose to use IPython or Python consoles. Importantly, it integarates Matplotlib figures. Spyder contains a variable explorer (much like the ‘Environment’ in RStudio or Rodeo) and many more. Spyder lack the possibility to see, load, and update your Python packages. Below is a video on the Spyder interface, showing the object explorer, variable explorer, and how to run a script.
However, as for now it is only RStudio that offers this functionality (but for R-packages, of course). That is, while you can see your installed Python packages in Rodeo you cannot do anything with them (see images below).
Update: If you want to test and install Rodeo on Linux (Ubuntu), I wrote a bash script (Installing Rodeo on Linux) for making the installation more automatic. Rodeo have basically the same features but now you can change some preferences and install Python packages from within Rodeo (much like what you can do in RStudio).
In conclusion, for a couple years ago I was looking for an IDE that was similar to RStudio but for Python programming language. I found Spyder and it does look (quite) like RStudio. Rodeo, on the other hand, I found a couple months ago. Maybe one could call it a RStudio clone. It looks almost identical to RStudio and seems to offer, basically, some of the same functionalities and features. However, Spyder offers much more that Rodeo lacks (e.g., code analysis, PEP8) so I will probably continue using Spyder. Now that I have tested the latest version I still think that Spyder is a better alternative. However, Rodeo may be something I will use in the future. Given that it adds more features (e.g., markdown, code analysis, git support, etc).