Hacker News new | past | comments | ask | show | jobs | submit login

I've wasted most of my professional life tweaking various unix software to make it work. However, the typical scientific python setup proved to be too frustrating to install on OSX. The recommended solution is to just buy the Enthought distro. If I'm paying for software anyway, why is Enthought better than Matlab?



disclaimer I work for enthought

I did my whole phd in matlab.

EPD is much cheaper and is free for academics

even if it weren't free, I would use it anyways.

but it really isn't why is EPD better than matlab, it's why python is better than matlab. matlab is a domain specific application with a domain specific language. It doesn't work well with things outside of its domain.

python is a general purpose language (And as such, has good general purpose constructs) but it happens to have excellent scientific and mathematical libraries. This is useful when you actually have to apply your research and build an application.

numpy is also better for large data, because slicing arrays does not create copies of them (you can make it do so if you want to, but it doesn't by default) in matlab, slicing large arrays can cause you to run out of memory.

Cython makes it really easy to start out with python, and then optimize your code down into C.

with python you can run your calculations over a massive compute grid. Use messaging libraries like PyZMQ to distribute your data and result, and build real time GUIs to consume the final results.

- a matlab cluster is quite expensive

- chacko - another enthought python library which is free and open source is great for real time datavisualization, matlab does not have anything equivalent.

- python has a large number of messaging libraries, with matlab I think you're stuck with MPI.

Matlab always made me feel limited. I would work on a problem, and then reach a point where Matlab could not do what I needed to do.

That rarely happens to me with python.


Thank you, that is the kind of response I was looking for. I will take a look at Enthought.


you WILL get frustrated by some things - some of the matrix concatenation operations are less convenient, some of the libraries are less polished, it's been worth it for me. msg me if you need help.

use IPython, not just python shell for interactivity.

also checkout 3d datavisualization with mayavi, that stuff is really awesome.


> use IPython, not just python shell for interactivity.

or bpython


Is there a mayavi tutorial somewhere? It looks pretty interesting, but I could never figure it out.


http://conference.scipy.org/scipy2010/tutorials.html

there was a mayavi tutorial, and the files are available at the link


> - chacko - another enthought python library

Ah, you mean "Chaco" -- it's easier to find with the correct spelling. :) http://code.enthought.com/projects/chaco/


Is there something similar to Simulink available for Python yet? That's pretty much the only killer feature of Matlab for me these days. Any other number crunching I do in Python.


not that I know of


Thanks for the reply, I am checking out the academic enthought lib. now


I've never had any problems putting a research-grade python setup on OSX - just use the .dmg installer files files available for python (2.6.X for compatibility), numpy, scipy, and matplotlib. But I agree that the Enthought Python Distro is also a good alternative (if a little bloated for my needs), and it's also free for academics.


When I tried to use easy_install with the EPD it tried to take me to their repository, for which we don't have appropriate permissions? So I sucked it up and installed some from .dmg's and others from source (matplotlib was difficult). And I found out just because it's Python doesn't mean it's portable - for instance NumPy/SciPy is hardly ever installed on other machines (it's not trivial, as is written here many times), and I find that administrators won't update their Python installation so I've had to re-write bits of my code to accommodate Python 2.3-2.4 at times! But all said, it's a nice tool and hopefully these installation/ version issues will work itself out.


For a basic setup on OS X, I found scipy superpack to be an excellent choice: http://stronginference.com/scipy-superpack/


I've found macports provides a ton of python libraries, like numpy, scipy, and matplotlib, all easily installed from the command line.


Another option is to just install Sage. It "just works" to install. Though it is less about numerical computation than symbolic computation. (Though both are targets, there isn't really equal focus, in my opinion.)




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: