[IPython-dev] Requiring distribute on Windows

MinRK benjaminrk at gmail.com
Fri Jun 24 14:52:55 EDT 2011


On Fri, Jun 24, 2011 at 11:01, Brian Granger <ellisonbg at gmail.com> wrote:
> Hi,
>
> In the course of testing IPython.parallel on Windows, Min and I have
> discovered that ipcluster won't work on Windows unless distribute is
> installed and used to install IPython.  The reason is that setuptools
> has a bug that interacts with multiprocessing in a subtle, nasty way.
> Min has been using distribute all along for testing and dev., so we
> didn't see it until now.  This leads to a question:
>
> Should we required distribute to be installed and used to install
> IPython on Windows?

The issue is that distribute writes scripts with the traditional `if
__name__ == '__main__'` block, whereas
vanilla setuptools does not, breaking any use of multiprocessing in
entry points on Windows (all child processes will enter the outer
loop, launching an infinite number of children).

I *have* figured out a way to catch this in the entry point itself
using inspect, so we shouldn't have to depend on distribute, if this
fix is acceptable:

https://github.com/minrk/ipython/commit/ab437a4d476f7819cf47a5dbb5ee6d40f66a7958

-MinRK

>
> I am not sure how this will affect the .msi installer.  We might be
> able to relax the requirement for that installer as the command line
> scripts are created differently.
>
> Cheers,
>
> Brian
>
> --
> Brian E. Granger
> Cal Poly State University, San Luis Obispo
> bgranger at calpoly.edu and ellisonbg at gmail.com
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev
>



More information about the IPython-dev mailing list