<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>I am going to take the time to do a deeper investigation of buildout. It looks like a potential winner. If it checks out, I'll build a recipe for my lab, check it on a few platforms, then post back here if it's worthwhile.</div><div><br></div><div>Ben</div><br><div><div>On Feb 17, 2013, at 4:34 PM, Ben Acland <<a href="mailto:benacland@gmail.com">benacland@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=us-ascii"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Homebrew formulas require tests, which can be more or less extensive. You can run them after installing by calling `brew test foo`, but they're just ruby methods, so conceivably you could just call them as the final step of installation. Actually... I don't think it'd be that easy. There's an easy way to find out... let me test this out on a formula I'm working on right now (for shogun).</div><div><br></div><div>Nope, it's not that easy. Of course after establishing that, it's clear why. Won't put the boring details here. The orthodox approach would be to put in the instructions "please call `brew test pymvpa` immediately after installing". Another approach would be to call `setup.py test` from within the install command, which might well work.</div><div><br></div><div>Downside... homebrew only covers mac, and I'm after something cross-platform here.</div><div><br></div><div>As for pip... a couple people have tried to get the pip folks to make it a little more CPAN like (viz. run tests prior to installation), and there's even a branch out there that does it, but as of yet it's not part of the main branch. Might be dead in the water.</div><div><br></div><div>As for any package I know of... there is buildout (<a href="http://www.buildout.org/">http://www.buildout.org/</a>), which lets you run pretty much anything you want as part of installation (being a full build system)... but I'm not an expert on it, and apparently maintenance can be a bit of a chore. On the upside, it does share with the pip+virtualenv approach the benefit of providing an isolated environment, which gets at one of the main issues I'm trying to address with all this bothersome questioning and probing: setting up and protecting your environment on a shared resource where you might not have sudo privileges. Granted, there are problems to achieving that fully when it comes to installing the non-python dependencies. Buildout might warrant further investigation. It's the only one of the options so far that seems to be cross-platform-ish, capable of installing non-python dependencies, and capable of running unit tests as part of installation. But again, no buildout expert here, so these advantages might crumble under closer inspection.</div><div><br></div><div>Ben</div><br><div><div>On Feb 17, 2013, at 1:43 PM, Yaroslav Halchenko <<a href="mailto:debian@onerussian.com">debian@onerussian.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><br>On Sun, 17 Feb 2013, Ben Acland wrote:<br><blockquote type="cite">   See, I knew I was stepping in it :).<br>   I think I can handle that. Pip only does python stuff, of course, but that<br>   covers the must-haves and the strong recommendations. For the optionals,<br>   there's a way to define external requirements, and print a warning saying,<br>   "you should really consider installing this." I found a decent example of<br>   something that might be acceptable in the python module Shapely. See this<br>   gist for an example of what happens when you try to install it without a c<br>   library that makes it run faster:<br>   [1]<a href="https://gist.github.com/beOn/4970435">https://gist.github.com/beOn/4970435</a><br>   Would that kind of behavior be acceptable? <br></blockquote><br>I think so... the only hard requirement is numpy, then very desirable is<br>scipy () + nose (for testing) + matplotlib (for plotting)<br>and then everything else from the link I have provided ;-)<br><br>btw -- does any package you know finishes "installation" by unit-testing <br>the beast?  imho it would be nice as well if pymvpa gets tested as<br>installed, and in case of failure -- output of mvpa2.wtf() would be<br>provided -- this could greatly simplify any needed troubleshooting and<br>would prevent (delayed) problems with deployed pymvpa<br><br><blockquote type="cite">If so... yeah, I think I can<br>   take this on. Otherwise, I'll at least be happy to write a homebrew<br>   formula, but pip wouldn't make a whole lot of sense.<br></blockquote>-- <br>Yaroslav O. Halchenko<br><a href="http://neuro.debian.net/">http://neuro.debian.net</a> <a href="http://www.pymvpa.org/">http://www.pymvpa.org</a> <a href="http://www.fail2ban.org/">http://www.fail2ban.org</a><br>Postdoctoral Fellow,   Department of Psychological and Brain Sciences<br>Dartmouth College, 419 Moore Hall, Hinman Box 6207, Hanover, NH 03755<br>Phone: +1 (603) 646-9834                       Fax: +1 (603) 646-1419<br>WWW:   <a href="http://www.linkedin.com/in/yarik">http://www.linkedin.com/in/yarik</a>        <br><br>_______________________________________________<br>Pkg-ExpPsy-PyMVPA mailing list<br><a href="mailto:Pkg-ExpPsy-PyMVPA@lists.alioth.debian.org">Pkg-ExpPsy-PyMVPA@lists.alioth.debian.org</a><br><a href="http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-exppsy-pymvpa">http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-exppsy-pymvpa</a><br></blockquote></div><br></div></blockquote></div><br></body></html>