[SciPy-User] SciPy+NumPy on 4 major linux distributions

Ivo Maljevic ivo.maljevic at gmail.com
Tue Sep 1 12:37:33 EDT 2009


I think this subject was brought up before in the form of a question about
which distro works better with scientific tools, so I wanted to see which
linux distribution
does a better job at packaging scipy/numpy without being subjective (my
preferred distro overall is Ubuntu).

I've tested 4 major distributions: openSUSE 11.1, Ubuntu 9.04, Mandriva
2009.1 and Fedora 11.
It seems like none of them does a perfect job, but, still, the clear winner
is Fedora 11.

Here is why:

1. It is the only distro that has all the dependencies worked out, so you
can run numpy.test() and scipy.test() without having to install python-nose
2. NumPy passes all the tests without a single error, and SciPy has only one
error (see at the bottom)

openSUSE and Mandriva not only do not pass these tests, but end up with
memory corruption and crash python. Ubuntu also fails tese tests,
but there is no memory corruption. (BTW, I opened a bug on openSUSE's site)

Mandriva differes from the others because it packages scimath, which
includes additional enthought functions, which is a good thing, if only it
didn't
corrupt memory with a simple:

>>>from scipy.special import chebyt
>>>chebyt(12)(-0.5)

call. openSUSE's scipy also crashes on this simple test.

All distributions have scipy version 0.7.*, but Ubuntu's NumPy is a bit
older.

Cheers,
Ivo

NumPy test on Fedora 11:

Ran 2030 tests in 64.996s

OK (KNOWNFAIL=1)
<nose.result.TextTestResult run=2030 errors=0 failures=0>

SciPy test on Fedora 11:
======================================================================
ERROR: test_implicit (test_odr.TestODR)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/scipy/odr/tests/test_odr.py", line
88, in test_implicit
    out = implicit_odr.run()
  File "/usr/lib/python2.6/site-packages/scipy/odr/odrpack.py", line 1055,
in run
    self.output = Output(apply(odr, args, kwds))
TypeError: y must be a sequence or integer (if model is implicit)

----------------------------------------------------------------------
Ran 3394 tests in 212.467s

FAILED (KNOWNFAIL=2, SKIP=17, errors=1)
<nose.result.TextTestResult run=3394 errors=1 failures=0>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.scipy.org/pipermail/scipy-user/attachments/20090901/ee07f752/attachment.html>


More information about the SciPy-User mailing list