[Nipy-devel] Setup.py and platform specific shared objects

Eleftherios Garyfallidis garyfallidis@gmail....
Thu Jan 13 14:53:18 CST 2011


Hi Yarik,

On Wed, Jan 12, 2011 at 6:07 PM, Yaroslav Halchenko <lists@onerussian.com>wrote:

> Hi Eleftherios,
>
> Great to see that you are leaping forward toward the release!  We should
> start cooking Debian packaging for DiPy.
>

Have a look at the latest pull. They will probably not be any serious
changes for this release. It needs nibabel, numpy, scipy and cython. It
optionally, need python-vtk is that easy to install in debian?

>
> Unfortunately I cannot give a complete and exhaustive answer to your
> question (how to setup the distribution), in part because it is
> not clear either we are talking about source, binary distribution or you
> are trying to meld those two together.  In the other part -- I am myself
> not very experienced with distribution outside of the Linux (and Debian
> in particular) world; distutils, setuptools (distribute), easy_install,
> pip, ...  -- variety and Python-specificity somewhat scares me there
> especially when I think about users who are not (yet) Python-savvy.
>
> Would you know someone who is an expert on this? Especially when you need
to distribute compiled source?


> Nevertheless let me point out few aspects
>
> Generic aspect of "binaries" in VCS:
>
> Quite a few projects (especially among Matlab toolboxes) meld binary and
> source distribution together by keeping pre-built binary blobs in
> the same version control/branch as the source tree.  Although it makes
> things somewhat simpler (especially for users/contributors who just
> check out necessary revision and could use/tune the tool without
> building anything), it severely impairs repository handling, especially
> in the case of centralized VCS as SVN.  Therefore, if you decided to go
> that way (keeping pre-built binary blobs under VCS, GIT in your case), I
> would strongly advise to use appropriate mechanism to keep source tree
> pristine.


Good point. We are thinking with Matthew to make an egg for every os system
and python version 2.5, 2.6, 2.7.


> You could either carry them in a separate branch
> (release-binary) where you pre-build those and which you advice to use
> for the users, or just stuck them all in a separate repository which you
> link to your repository as a git submodule.  Imho 2nd one is preferable
> since it would keep your source repository size not growing wildly, thus
> handling better, and  so that in the future you could easily drop this
> approach and shrink your repository without rewriting it entirely.
>
> OSX Bundles:
>
> Initially convenient  way of bundling everything together for OSX users,
> might create more complications in the long run, especially since
> DiPy is a module and users might want to incorporate it into analysis
> pipelines which use tools which are not available within the bundle...
> then they would need, if possible, to  bring Dipy in the space of other
> bundles/distributions they have on the system (i.e. via .pth files).
>
>  Sorry, this is not clear to me. What do you mean bundling everything
together?

>
> Linux
>
> should be no difficulty for people to have it built/installed in general
> especially if .c code for .pyx is shipped along within source
> distribution (VCS) -- compiler is nearly always there ;-)  so simple
> setup.py using distutils (setuptools) should be enough for those
> desiring build it themselves.
>

Yes, truly linux is the best for this and debian/ubuntu the os of my
preference. I wished it was that easy with the other OS too.

>
> external dependencies (e.g. nibabel) probably should not be a part
> of it, but rather, upon demand easily installable (easy_install, unless
> OS provides them via system-level tools, e.g. apt on Debian systems)
>
> We should definitely make a debian package for dipy. There is no doubt
about that.


> Sorry if this does not answer your question... I can only promise that
> on Debian systems installation will be a breeze and dipy would become
> easily usable with any other python module people would like to use
> along with dipy ;-)
>

Awesome. THX

>
> Best regards,
> Yarik
>

Cheers,
Eleftherios

>
> On Wed, 12 Jan 2011, Eleftherios Garyfallidis wrote:
> >    We want to make dipy to be installed very easily to all 3 platforms
> >    Linux,Windows and Mac. As you know in dipy we use cython and although
> >    you can install cython even with easy_install these day you need to
> >    have a compiler on your system which could be a problem for some
> users.
> >    Therefore we would prefer to provide the compiled code for the cython
> >    modules with our installation and to be platform specific.
> --
> =------------------------------------------------------------------=
> Keep in touch                                     www.onerussian.com
> Yaroslav Halchenko                 www.ohloh.net/accounts/yarikoptic
> _______________________________________________
> Nipy-devel mailing list
> Nipy-devel@neuroimaging.scipy.org
> http://mail.scipy.org/mailman/listinfo/nipy-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/nipy-devel/attachments/20110113/114a66d2/attachment.html 


More information about the Nipy-devel mailing list