Ask HN: Python as Matlab replacement, where to start?

3 points by stinos ↗ HN
This is somehwat inspired by the thread on Rodeo [1] mainly because it made my urge to get this sorted out just bigger. Here's the situation: I'm relatively new to Python and have only used it for simple things. From reading around here and elsewhere I know there's a myriad of interesting features out here, like people dropping Matlab completely in favour of free Python-based solutions. The latter is also basically what would be super interesting to get some things done in a company I work for: Matlab licenses aren't exactly cheap, and all networked, and tied to a hostname, and license servers only accessible from within the intranet or else through VPN etc, you get the picture.

So I'm looking for something I can just drop (preferrably portable installation) on a Windows or Linux machine, fire up, feed some 1D signals into and then use for very basic on-the-fly analysis (most used commands in Matlab would be diff,hist,plot,std,mean,xcorr,interp). That 'something' should interpret Python, have matplotlib/numpy/scipy/wahetever needed to fullfill the requirements, if it's an IDE that's ok but not required, and it should be sort of 'major' in that it's in pre-alpha stage with too many bugs and no certainty it will still exist in 5 years.

A week or to ago I started a search for this but gave up because the sheer amount of choices just seemed too overwhelming, and the differences between them too unclear. Anaconda/Miniconda/PyCharm/Canopy/Spyder/IPython Notebook/... So I just downloaded Anaconda, and managed to get something on a plot but I'm still not sure what the whole of Anaconda actually is - I just know somehow it can get me a Python commandline which has matplotlib etc - let alone I know it's the best fit for us.

Hence the question: what would HN recommend in this case?

[1] https://news.ycombinator.com/item?id=10809216

4 comments

[ 342 ms ] story [ 2440 ms ] thread
I have used both commandline option as well as IDE for python app development. I am more comfortable with commandline, but then debugging is limited. With IDE, having debugger in built helps a lot. I have used Canopy IDE and it seemed pretty good for scientific/data science/game/engineering related app development.Here is the link: https://store.enthought.com/downloads/#default
Long-time Octave user here. I have also considered moving to Python because of stuff I read on the web, but I am sticking with Octave for now, because at the moment I am more focused on using it to solve problems (mainly signal processing) than I am on learning a new toolset. Octave would seem to fit your needs, since it is what many former Matlab users go to when wanting to go Free. Can you please explain why you chose Python over Octave? I am interested in your perspective on this, and it may help other commenters to better answer your question as well.
In fact Ocatve was the first thing I tried, on Windows, but it wasn't quite the experience I'm looking for. I ran something like

   a = [ 1 2 3 ];
   plot( a )
On one machine it showed a figure window, then hung for like a minute and then showed the correct plot. On another machine it showed some exception in the command window, IIRC, but in any case it did not plot. Usually I'd investigate this further, report a bug and hope it would get fixed, or try to fix it myself and contribute, but this time I just didn't feel like it..