I am a linux newbie and I am wondering why some software developed for python is usually installed by doing "python setup.py install".
What is it doing?
what is the different of this comparing to "compile from source"?

For instance, a package in this form: numpy-1.3.0.tar.gz
I was told by the web author that I should untar this, then do "python setup.py install"
but then again I was told package in gunzip must be a source package, which I should compile from source,
that is ./configure makefile make..........

which approach should I use?Which has the lowest chance of a error in installation/?

What is your linux distribution ? Many python modules are distributed as linux packages which you should install with your software manager. For example in Ubuntu, you should run the command sudo apt-get install python-numpy python-scipy . In Mandriva, there are also packages python-numpy and python-scipy.

OpenSuse 10.3
It got Yast, and seemingly no such package
it also have zypper, but no package

There are packages here for more recent versions of Suse. Perhaps you should upgrade your distro ?

what do you mean by "distro"?
The link you provided do not have one for SuSe 10.3~~

what do you mean by "distro"?
The link you provided do not have one for SuSe 10.3~~

Distro is...

By 'distro' I mean 'linux distribution'. Why don't you install opensuse 11.x ?
Back to your original question: python setup.py install is part of a python installation system called setuptools. It's generally used for pure python modules. The sequence ./configure make make install is part from a C installation system called gnu build tools. It's generally used for C programs, and also for python modules written in C (like numpy).

When you download a .tar.gz package, (or .tgz), you should first uncompress the file and read the INSTALL file, which should tell you how to build and install the package. However, in most cases, the best way to install a package is to find a pre-built binary via your software manager. There may be no pre built python-numpy for OpenSuse 10.x.

In your situation, I would choose to upgrade to the latest version of OpenSuse, because it's a waste of time to solve issues that exist in 10.x and not in 11.x (although I never used OpenSuse :) ).

Upgrading is very troublesome....while the official site don't guarantee successful upgrade...