[Distutils] copy binaries in egg

Andrea Crotti andrea.crotti.0 at gmail.com
Mon Mar 26 17:39:02 CEST 2012


On 03/26/2012 04:21 PM, Andrea Crotti wrote:
> I have custom code to create a nice installer from many Python eggs.
>
> The problem is that in these eggs there are many binary files, as for
> example png or sometimes even dlls (sigh), and they are not declared
> anywhere in setup.py or Manifest.in.
>
> The best solution would be of course to force everyone to include them
> in setup.py, which would make them part of the package when running
> egg_info.
>
> This is probably not feasible because:
> - they are too many and everywhere
> - there is no easy way to detect from the developer if he's including
>   everything, and the only way would be to see the errors on Hudson
>
> So the only solution left is to:
> 1. build with bdist_egg
> 2. copy inside the build egg all the binaries found
>
> any suggestions about how to do that or other ideas?
>
> This procedure should normally be run always on the Hudson server, so I
> can make sure for example that there are no artifacts and the directory
> tree is always clean..

Suppose for example I need to include a simple png, apparently I have to 
do this crazy dance

       include_package_data=True,
       packages=find_packages(),
       package_data={'data': ['xyz.png']},


and even if data/*png is in MANIFEST.in

Isn't there a way to let bdist_egg package also everything found through 
the MANIFEST.in?


More information about the Distutils-SIG mailing list