Showing posts with label IDE. Show all posts
Showing posts with label IDE. Show all posts

Wednesday, April 4, 2012

Will Spyder be our new Python IDE?

Your author has tried Emacs, Vi, eric4, drpython, spe, gedit, jedit, anjuta,idle, geany
kate, kedit, when writing Python programs, or modules


Among the editors/IDE mentioned eric4 comes close to be the most ideal for me, except that
is somewhat slow. Spe on the otherhand, has that unusual cursor-editor missynchronization.What
character you type sometimes does not appear immediately! It is disconcerting to say the least.



Here is a short list of features I demand to have in an editor:

  1. Quick zooming, unzooming. I wonder why editors do not implement or have removed
    the standard browser Ctrl-plus or Ctrl-minus for easy viewing of source codes?

  2. Interactive debugging support.

  3. Indent/unindent highlighted code blocks.

  4. Folding and unfolding code blocks. Not an absolute requirement.
Spyder aims to be the standard scientific python editor/ide. It is available in Ubuntu apt-get but it refused to run due to some versioning errors. One day last week, I got an email announcement from the scipy mailing list that there is a new version of spyder. So we tried installing it from the sources.Here are the steps:
wget -ct 0 http://spyderlib.googlecode.com/files/spyder-2.1.9.zip
unzip spyder-2.1.9.zip 
cd spyder-2.1.9/
sudo python2.7 setup.py install
spyder
That works! and that is the latest version of spyder. Spyder on default mode opens the following windows in one screen: console,editor and a tabbed inspector explorer/window for objects, variables, and files. Typing scientific on the console window gave the following information:
>>> scientific This is a standard Python interpreter with preloaded tools for scientific computing and visualization: >>> import numpy as np # NumPy (multidimensional arrays, linear algebra, ...) >>> import scipy as sp # SciPy (signal and image processing library) >>> import matplotlib as mpl # Matplotlib (2D/3D plotting library) >>> import matplotlib.pyplot as plt # Matplotlib's pyplot: MATLAB-like syntax >>> from pylab import * # Matplotlib's pylab interface >>> ion() # Turned on Matplotlib's interactive mode Within Spyder, this intepreter also provides: * special commands (e.g. %ls, %pwd, %clear) * system commands, i.e. all commands starting with '!' are subprocessed (e.g. !dir on Windows or !ls on Linux, and so on) >>>

We will spend more time with our newest editor/ide, but spyder looks very, very promising.

Sunday, June 20, 2010

Spyder, a new interactive Scientific Python development Environment

Flash! June 26: Latest 1.1.0 version just released! visit latest spyder console



There are more development environments for Python coming into use. What is wrong with TKinter, Eric 4, geanny, even Eclipse? Nothing wrong with these but Python developers will finally choose what suits them personally. Tkinter, I find a little slow, Eric is the best so far but I lose some of my work sometimes(It pays to save your work from time to time)! Geanny and Eclipse actually works for other languages. I suggest you give each editors/environment a try!

The newest I found is Spyder, available from http://code.google.com/p/spyderlib/downloads/detail?name=spyder-1.0.3-py2.6.eggand developed by Pierre Raybaut. When I downloaded it, the egg file was stored in /temp not in ~/Downloads. You type sudo easy_install spyder-1.0.3-py2.6.egg from the command line.

Once you activate it, you will be presented with multi-paned windows for file, classes and functions, Workspace,and Interactive Shell. It has a debugger and an interface to Pylint for your source code. There is also a convenient Tools submenu for Qt Designer and Qt Linguist.



It will take time for me to be familiar with it, and I think its major competitor will be Eric which is also a Qt application.

Try it and submit comments about your experiences with Spyder. The free and open source world depends so much on feed back from users. We hope that Spyder and Eric developers will learn from each other!