[Distutils] Expectations on how pip needs to change for Python 3.4

Paul Moore p.f.moore at gmail.com
Tue Jul 16 12:37:21 CEST 2013


On 16 July 2013 00:12, Oscar Benjamin <oscar.j.benjamin at gmail.com> wrote:

> On 15 July 2013 23:39, Chris Barker - NOAA Federal
> <chris.barker at noaa.gov> wrote:
> > On Mon, Jul 15, 2013 at 3:28 PM, Donald Stufft <donald at stufft.io> wrote:
> >> There is something like 200 total bdist_msi on PyPI and 5k
> bdist_wininst.
> >
> >> To put numbers into perspective, there are ~180k total files uploaded to
> >> PyPI.
> >
> > I don't hink this means that the installers aren't widely used, I
> > think it mean they aren't distributed on PyPI.
> >
> > Installers are really useful for packages that require compiled code
> > that depends on external libs -- and most of the major such package
> > maintainers provide them.
>
> I second this. I use pip all the time for pure Python packages on
> Linux and Windows because it works very well for these. However when
> it comes to numpy, matplotlib, wxpython, PyQT4 et al. I wouldn't even
> attempt to use pip on Windows.
>
> Most commonly I would do the standard Windows thing of going to the
> project website and looking for the downloads page. I've also used
> Christian Gohlke's index of science-related Windows binaries [1] which
> are supplied as .exe files. He says that "Most binaries are built from
> source code found on PyPI..." or in other words if it were easy to
> build these with pip then his index would be unnecessary.
>
> When wheel distribution becomes common I hope that this situation will
> improve substantially though.


Precisely. At the moment, unless you need to compile code with external
dependencies, pip install works fine (it's even fine for C code without
dependencies if you have a compiler). But once the build process is even
slightly complex, wininst installers are the only real answer. The fact
that they don't work on virtualenvs is a pain, but there are 2 ways round
this:

1. I believe that easy_install will install wininst installers. I've not
tried myself.
2. You can use wheel convert to make wheels out of wininsts, and then pip
install those. This is what I do, and it's really effective. I keep a local
index of converted wheels to limit the download/convert overhead.

I'd like to see more wheels on PyPI and sites like Christoph Gohlke's move
to providing wheels, and preferably in a PyPI index style format, so people
can pip install *anything*. But obviously that's the authors' (and people
like Christoph's) choice.

MSI is a lousy format in this context, because it's near-impossible to
introspect, and hence convert to a wheel or anything similar.

Paul
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20130716/9c98eb00/attachment.html>


More information about the Distutils-SIG mailing list