[Distutils] [ANN] EggFreezer

Ian Bicking ianb at colorstudy.com
Tue Aug 5 18:07:46 CEST 2008

Alberto Valverde wrote:
> Ian Bicking wrote:
>> Alberto Valverde wrote:
>>> The usage is pretty straightforward:
>>> eggfreezer -o AllTurbogears2 -f
>>> http://turbogears.org/2.0/downloads/current TurboGears2 tg.devtools
>>> That command will try to satisfy all dependencies for TurboGears2 and
>>> tg.devtools (fetching them from local packages if available), using that
>>> url to find links, and bundle them into a file called
>>> AllTurboGears2-${py_version}-${platform}.py.
>> As long as you are doing platforms, it might be nice to get them right. 
>>   Specifically the UCS2/UCS4 distinction, though there might be more 
>> that I'm forgetting.  (If there's actually platform-dependent files in 
>> there, if not it'd be nice to leave out the platform entirely.)
> I'm using pkg_resources.Distribution's 'platform' attribute to get this,
> the algorithm basically iterates over all dependencies and as soon as
> one has it set to not None it'll use that. If all are set to None then
> no ${platform} is added to the filename. I'm assuming of course that all
> distributions have the same string as platform, which I guess it isn't
> not too far-fetched, but haven't really checked so I'm sure there's
> something I might have overlooked.
> BTW, does pkg_resources populate it properly with he UCS2/UCS4
> distinction you mention?

No... which makes binary eggs unusable on Linux.  I feel like there was 
something else that made binary packages on a Mac unreliable, but I 
can't remember.  Windows binary eggs generally work fine.  This is 
discussed some here: 

One nuisance is that people don't generally know how their Python was 
built (UCS2 or UCS4).  I was thinking about making something very 
similar to eggfreezer (which I'm unlikely to do now that eggfreezer 
exists ;), and generating an "install" .py file that determines the 
platform and downloads the appropriate platform bundle.

Ian Bicking : ianb at colorstudy.com : http://blog.ianbicking.org

More information about the Distutils-SIG mailing list