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

Eleftherios Garyfallidis garyfallidis@gmail....
Wed Jan 12 07:51:43 CST 2011

Hi guys,

This is a general question possible more suited for Gael, Fernando, Michael
and Yarik who they have already released "tones" of python software.

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.

In other words we would like to provide the .dll for the windows system, the
relevant .so for the linux and mac systems.

So, I thought I would do that in the following way.

Make a folder somewhere in dipy lets say dipy/bin/
and add there the different compiled versions of the cython modules e.g. we
would have linux64.distances.so, linux32.distances.so, win32.distances.dll,

and then in setup.py I will check the platform using the platform module
and/or sys.platform and then copy the relevant shared objects to their
relevant directories e.g.
I would cp dipy/bin/linux64.distances.so to dipy/tracking/distances.so

Do you know if there is any better way to do this? Or any problems with the
approach described above?

Best wishes,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/nipy-devel/attachments/20110112/bf125395/attachment.html 

More information about the Nipy-devel mailing list