[Distutils] Other ideas from today's packaging meetup at EuroPython

John M. Anderson sontek at gmail.com
Fri Jul 25 19:52:25 CEST 2014


On Fri, 2014-07-25 at 11:10 -0400, Barry Warsaw wrote:
> On Jul 25, 2014, at 08:46 AM, Donald Stufft wrote:
> 
> >Yea, I’m not sure whether I like it or not. Probably once we get a for real
> >build farm for PyPI setup that will be a pretty reasonable sized carrot for
> >people to upload sources.
> 
> That's really the right long-term approach, IMO.  I'd like to some day see
> source-only uploads, with wheel builds for various supported platforms
> appearing "automatically" via the build farm.
> 
> But ultimately you're right.  If we don't have source available from
> *somewhere* (with PyPI being the most obvious and easiest location for
> downstreams), then oh well, you won't get your package into some Linux
> distros, and your users will have to roll their own.
> 

I apologize, I have very limited knowledge of the plans for wheels, so
this may have been discussed previously:

Would a build server help?  We use wheels internally for our all our
deployments for things like gevent, PIL, numpy, pandas, etc.  but we
have to maintain separate internal indexes and have the developers and
operators choose the Ubuntu 14.04, 12.04, 10.04 etc index depending on
which stack they are developing.  We've solved this in our ansible
scripts by detecting the OS it is running on and then generating a
pip.conf that goes to the correct index.

Is this the expected behavior?  Would the build server just generate
distro specific indexes and then users would define this in their pip
conf to get the correctly built wheels?

I think if that is the case the build server wouldn't be helpful because
you couldn't just `pip install gevent` to get a wheel, you would also
have to go discover which operating systems the build server supports
and find the index URL to point to.

Currently when a wheel is generated it looks like this:

Cython-0.20.1-cp27-none-linux_x86_64.whl

but since it says "Linux" without distro knowledge there is no way for
pip to know that it was built on Ubuntu 14.04 and wont work on my Fedora
17 box.


Thanks,
John



More information about the Distutils-SIG mailing list