Enthought Canopy (Python analysis environment) is out. I find it awful ... is it just me?

Enthought has released its new Python analysis environment: Canopy. I gave it a short try of 5 minutes but it was so awful, I wonder how it can be so bad and they decided to realize it:

  • The Editor has a single preference: the choice of font. Any modern editor (Emac, vim, Sublime Text 2, you name it) can be parametrized in thousands of ways!

  • there is a shiny package manager, which ask you to pay for otherwise free packages available with "easy_install"!!! this is my worst complain

  • the whole thing is buggy: it crashed a few time while running simple things

  • namespace is not respected when importing libraries in IPython.

As much as I love the Enthought Python Distribution (EPD) and I am disappointed beyond anything I could expected with Canopy...

50 comments · 87% upvoted · other discussions

comments

[deleted]

I switched to Anaconda a long time ago and frankly haven't looked back. The main reason was initially EPD Free not offering a 64 bit option, but in general I believe Continuum is going after a much better model for their business. Enthought seems to be trying to go after the MATLAB users, and they think a pretty IDE is what's keeping those people from switching. Continuum, on the other hand, is trying to push the Python scientific stack into directions MATLAB and the like can't dream of reaching. You get users by offering something new, not by copying the status-quo.

Plus I think Anaconda's model of offering the distribution for free and charging for their own packages -which add functionality they think is valuable- is infinitely more user friendly than EPD's strategy of cherry-picking what pieces of the Python community's work they will provide for free and what part they will charge for.

amer415 [OP]

I am starting to seriously think you are correct... but I still think something like Canopy is useful to streamline the workflow of people who care mostly about data analysis.

[deleted]

I read this and tried it too. So far so good, Theano supports it too.

donthavearealaccount

You have to understand who Enthought's market is for things like this. I don't think they are targeting people that are currently writing much code. They are trying to give Excel-addicted scientists, engineers, statisticians and financial analysts a slightly more sophisticated tool to do their work (... experienced software developers are not going to pay for their training sessions). Expecting this to be a full IDE suitable for full application development is missing the point.

No excuse for crashing and charging for free shit though.

cournape

(disclaimer: working for Enthought).

Canopy (and EPD before) are not charging for 'free shit', unless you consider Red Hat is also charging for 'free shit': what is being charged is the service of packaging things into binaries, which is quite a bit of work (more than people generally realize). Also, working on specific configurations means we contribute back some upstream bugs upstream (e.g. MKL and OS X interaction for a recent example: https://github.com/scipy/scipy/pull/398).

Also, Enthought provided quite a bit of resources (money and manpower) to put code out there for ipython (like e.g. qtconsole), all of it integrated upstream. So yeah, we're charging for the product, but it is hard for a company to earn money without charging money somewhere :)

mangecoeur

Having built scientific libs on my mac i have to agree - its a pain in the ass and there's more than enough people who don't want to have to install gcc, gfortran, configure environment variables, get things like ATLAS linked, install zeromq... That said, it does feel a bit crap to pay for something that you could get for free. But then again you still can, if you feel like going through the trouble of getting it working. Perhaps the real criticism is that you can get a lot of those packages from Continuum.io with the Anaconda distribution for free - competition's heating up guys!

cournape

Yes, continuum.io model is different. They want people to pay for their packages (numba pro, etc...), so they make the complement a commodity (the below stack).

I agree competition is good, and I actually do enjoy having to prove we can bring a compelling offer.

amer415 [OP]

I always liked EPD free and I advocated it to my colleagues a lot, I even considered many times trying to push my institute to pay for a bundles license, to support Enthought's work.

The impression I got with Canopy was at first very good: finally a nice looking IDE that I can sell to my Matlab colleagues who are not necessarily heavy terminal users... then I opened the package manager GUI and realized I have to subscribe to get access to libraries I used to install with "easy_install".

I would agree to pay for the initial effort of packaging Numpy/Scipy/Matplotlib/IPython binaries, which I understand is a lot of efforts. But when this is is given for free, and you charge to add third parties libraries readily available from pypi, that feels a bit steep.

cournape

I don't think we charge for pypi specifically: we do charge when people want to use more than just the 'core scipy stack', and pypi packages come with that on top. What people are paying for are the additional packages packaged by Enthought, not really pypi which is offered as an addition.

amer415 [OP]

That is a fair business... but it will discourage people in certain domain to adopt Canopy. In my case (Astronomy), I would need to pay to access the (pyfits)[http://www.stsci.edu/institute/software_hardware/pyfits] library... that is a huge show stopper, especially because I believe it is a simple thing to package and I have never heard anybody I work with complaining when they tried to install it: "easy_install pyfits" does the trick in 10s. Installing Numpy from scratch can be challenging, or get a Python stack for data analysis to work seamlessly.

cournape

Well, why not using easy_install pyfits from EPD then :) That works on any EPD version (well, modulo a big with the new pip using https on mac that we are fixing). EPD (and I think canopy, though I am not 100 % sure), do include easy_install, and the installed python is as close as possible to a 'real' python for compatibility reason. With that in mind, installing most 'easy' packages (~ pure python on windows) is one easy_install/pip/whatever away, EPD does not change that.

[deleted]

In any case, I wonder if you will update Theano. I tried to install it with easy_install but somehow it grabbed 0.5rc1 version (it didnt work also, import theano didnt succeed). The current version is 0.6rc3 which I can install seamlessly in EDP. (On removing canopy and reinstalling EDP)

donthavearealaccount

I agree.

amer415 [OP]

I (naively) thought Enthought was targeting Matlab users... in my institution, most engineers run Matlab, at a high cost. Getting a decent IDE would give them an edge, and they can charge for custom dev and/or installation support for large deployments etc.

Maybe I do not get Enthought business model... but when I see how much is spent on Matlab, I still think they could make honest money.

donthavearealaccount

They are targeting Matlab users. From your original post I thought you were under the assumption that they were targeting full-time software developers. I haven't used Matlab in 8+ years, but I never thought of it as an IDE. More of an interactive scriptable data exploration tool.

dibsODDJOB

I consider myself one of the engineers you describe. I tried the Enthought package but ended up switching to Python(x, y) and Spyder for my development instead. It seemed more like Matlab to me and had some nicer features.

SirHugh

There is some serious inertia behind Matlab in universities and I wish a really good alternative existed. Non-computery people can sit down in front of Matlab and use it without much help, 5 years later they are still using it and finding way to get round its inaqequacies. If someone can bundle up some Python into an easy to use interface good luck to them.

alcalde

Get your engineers to check out either R Studio or Sage.

einar77

They are trying to give Excel-addicted scientists

Not sure about the rest of the people you mention, but as a scientist I wouldn't spend any euro of my research budget on software like this (nor I wouldn't for Matlab, etc).

mrchucklepants

You should check out Spyder. I have never understood why Enthought won't use it. They seem to have a bad case of NIH.

ivosaurus

Or python(x,y) which comes with it!

mangecoeur

I had a play with spyder. I even mucked around in the source code to tweak it. And now, i totally understand why they don't use it. I mean it's OK but it's not a very professional looking codebase.

juliusc

(Disclaimer: Spyder dev here). Why do you think it's not professional? Although I didn't designed it (Pierre did), I think it's pretty well structured (I've learned Qt just by reading it). We've also had people doing nontrivial stuff (like replacing rope with jedi) in record time (say 2/3 weeks). The main reason I think Enthought guys decided not to use us is because they wanted to control release dates and use their own technologies (like Enaml, Traits, etc) to build Canopy.

[deleted]

My only real issue with spyder is that it does from numpy import * by default. A few of my colleagues have had very bad surprises when they try to run their code on a machine on which numpy is not installed, as they assumed it was part of the standard library.

That, and copying code into the interpreter is a real pain.

juliusc

Ok, thanks for the info. I think you're right about numpy. Trying to import it automatically is giving us some headaches lately when people switch interpreters using the option we provide to do it.

Copying code is way lot better now with our new IPython integration. It's faster (not line by line but in full chunks), totally accurate (no more ugly indentation errors!) and syntax highlighted. What more could one ask for? I sincerely recommend you to install 2.2 and try it out by yourself.

By the way: A big thank you Enthought guys for qtconsole. It's really awesome!

[deleted]

I sincerely recommend you to install 2.2 and try it out by yourself.

I absolutely will, even though I've moved my workflow over to ipython notebook. I also know of certain people in my lab who would benefit greatly from spyder as a means of moving away from matlab.

Is there an ubunbu PPA?

Also, you're based in Paris aren't you? I seem to recall a former colleague of mine, Gaël Varoqueaux, mentioning that he knew the spyder devs. Would you consider hosting a workshop at our lab?

juliusc

You can use this PPA. It's our official one.

Sorry but I'm not Pierre (Raybaut, our lead dev) who is based in Paris. I'm Carlos (ccordoba12) and live in Colombia so I can't help you :( But you can contact him directly (look for his email in our googlecode website), he's very friendly.

If you have any questions please don't hesitate to post them in our mailing list. We try to respond very quickly to them.

[deleted]

Thanks for the PPA! I did indeed have you confused with Pierre. I may try to contact him -- it would be awesome if our lab could ditch matlab once and for all =)

juliusc

(Disclaimer: Spyder dev here) Please try Spyder. Our next release (2.2, in release candidate now) has lots of improvements over 2.1 and IMHO a much better integration with IPython qtconsole than Canopy. You can read our changelog here.

Besides, you can tweak a lot of IPython and Editor settings using our Preferences panel. All in all I think Spyder is much closer to Matlab right now than Canopy.

Unfortunately we currently lack a package manager, but we are considering to build one around stallion and conda in the future.

PS. We are distributed with Anaconda but I recommend Python(x,y)/WinPython on Windows and our Mac native app in OSX because they are built with PyQt, which is way less buggy than PySide (the one that comes with Anaconda).

[deleted]

I tried your suggestion for MacOS with Anaconda. FYI, this was something I had to do.

https://code.google.com/p/spyderlib/issues/detail?id=1277

Preferences > Console > Advanced Settings > PYTHONSTARTUP replacement

and select the option

[ ] Default PYTHONSTARTUP script

To resolve the same issue. Minor hiccup. The 2.2 standalone app is pretty nice.

juliusc

Thanks for letting me know about the problem. We've worked hard to support EPD within the App but forget about Anaconda :) I'll fix it before the final release.

[deleted]

This is a little late. However FYI, I am really liking Spyder. I actually am not that great with Python yet. I come from more of a Java/C/Matlab background.

There are some needs at my current company for a data analysis capable tool at least for prototyping. Python fills that bill, but the Spyder IDE I am finding has very useful features for me. Coming from a relative beginner compared to most I am not sure if that means a whole lot, but there it is!

Thanks!

juliusc

It means a lot, thanks for your message. We've worked hard to make things as intuitive as possible, so to hear that beginners are finding Spyder worthwhile and useful it's very important to us.

Remember that if you need some help you can post a message in our mailing list.

freyrs3

Try Anaconda instead. It's a modern Python distribution ( Python 2 or 3 interpreter + precompiled scientific stack ) that doesn't make all of these assumptions about your usage that Canopy does.

Update: Caveat, I work with folks who developed Anaconda. :-)

[deleted]

[deleted]

burlygurlyman

Hmm, am I missing something? The Canopy Express download (i.e. the free version) does have a 64-bit option. Also, to be fair, you don't have to use the analysis environment, in which case you'd use it just like you would use Anaconda (with the exception of Python 3, which doesn't seem to be supported).

amer415 [OP]

How about the package manager? can you run "easy_install" and bypass the package manager which force you to pay to use Enthought's version of the libraries? I would happily accept to have the option, and not be forced to pay for a library that is trivial to install otherwise.

rkern

(Enthought employee)

Of course you can use easy_install, just like in EPD. distribute is pre-installed, so just go ahead and use it. The package manager is a convenience for managing the binaries that we do provide. It doesn't remove any functionality from the Python installation.

amer415 [OP]

thanks for the tip! not only that, Anaconda comes with more useful libraries (for me) and has IPython's qtconsole already compiled (never managed to install it on my Mac).

[deleted]

[deleted]

[deleted]

[deleted]

cournape

It is a tough problem to solve correctly, as each platform has its own set of solutions (mac vs windows vs linux).

I have not looked how anaconda solves this problem exactly, but I would say neither EPD or anaconda has a very good solution to this problem yet. TO be fair, very few products have (matlab has exactly the same problem on linux last time I checked).

cournape

(disclaimer: I am working for Enthought)

qtconsole is also included in EPD.

Freyrs forgot to mention that he is working for Continuum, which I find a bit disingenuous when not stated when recommending anaconda. Hopefully, products can compete on their own merits instead.

rox0r

Freyrs forgot to mention that he is working for Continuum, which I find a bit disingenuous when not stated when recommending anaconda. Hopefully, products can compete on their own merits instead.

I find it disingenuous (and petty) to claim you care about merits, but care more about the speaker than their ideas.

It's easy to create throwaway accounts if anyone is really trying to sock puppet.

[deleted]

[deleted]

usernamenottaken

You misunderstand, rox0r wasn't suggesting your account was a throwaway, but saying that if freyrs3 didn't want people to know he worked for continuum he would have just created a throwaway.

cournape

Indeed, I misread the message, sorry about that. I got a bit worked up for nothing here.

rox0r

Why should I give you the benefit of the doubt, when you cast aspersion on freyrs just because he works for continuum and not because you disagreed with anything he said?

Merit based arguments stand on their own no matter who says them. Since you care about who said them, it follows that you aren't as concerned with merit as you claimed.

freyrs3

This is fair point, I will mention this in the future when I discuss Anaconda.

cournape

Thanks !

narcilian

I'd go with spyder, or sage.

amer415 [OP]
alcalde

Is the $1000 of benefit coming from the technical support and videos and presumably simpler installation? I'm trying to see what the value is vs. using Linux, their package manager to install, and Eric 5 or Spyder and/or iPython.

frymaster

The Editor has a single preference: the choice of font. Any modern editor (Emac, vim, Sublime Text 2, you name it) can be parametrized in thousands of ways!

That's only 50% of the configuration options in notepad (you can also toggle word wrap)