[Distutils] [RFC] eggbuild

Manlio Perillo manlio.perillo at gmail.com
Thu Nov 4 19:25:24 CET 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Il 04/11/2010 18:16, Alan Franzoni ha scritto:
> On 11/4/10 5:53 PM, Manlio Perillo wrote:
>> For a project using Qt I was unable to use py2exe, and I was unable to
>> understand how to use PyInstaller (!).
> 
> That's quite a huge issue :-) but I think we've used PyInstaller
> internally ad it seemed to work. Have you asked for help on the
> pyinstaller ml and got no response? Ping Giovanni directly, then :P
> 

I just read the documentation and tried to use it.

> 
>> Moreover, I don't see reasons why the Python interpreter should be
>> included in the distribution.
> 
> If you're distributing an an app, the end user will probably just want
> it to be working without the hassle of installing it by himself - in
> this sense distributing the interpreter along the app is good.
> 
> If you're distributing a library then you'd probably not need the
> eggbuild at all, since developers will very likely know their work.
> 
> What specific problem are you trying to address?
> 

Distribute a Python package on Windows.

Suppose package A depends on pure Python package B and on PyQT.
Right now I have two options:

1) create an installer using PyInstaller or py2exe
2) have the user install Python (not a problem), PyQt
  (the "all included" installer) and then easy_install my application


I think this is a big problem.
Even if we assume that it is ok to create a PyInstaller installer, I
don't see why a Windows user must not be able to do:
    easy_install A

and have B and PyQt (with external libraries) correctly installed on the
system.


eggbuild tries to solve this problem.
It build eggs that "embeds" all required shared libraries (excluding
shared libraries already required by the Python interpreter -- this
usually allow me to forget about SxS mess with Visual Studio
redistributable libraries).

>> Yes, the problem is that (assuming you are speaking about plain distutils):
>>
>> 1) packages dependencies are not handled
> 
> 
> I must admit I've never tried auto-building Python extensions, but I've
> tried zc.buildout to deliver and it works. I can post an example of how
> I do use it and then you can take a peek if it's suitable for your use.
> 

I have never used zc.buildout; however, as I wrote, what I'm trying to
do is to solve the "external libraries" problem using standard eggs.

Building an all included installer its the second step.
For me it's already good if easy_install is able to install binary eggs
with external libraries embedded!



Thanks   Manlio
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkzS+pQACgkQscQJ24LbaUQ+PwCffNKkoaYfTig3uHucDaQ2mL84
GYcAn35I4PBVMAR1QnHwC/g9XXv0IM2l
=kQCO
-----END PGP SIGNATURE-----


More information about the Distutils-SIG mailing list