Hey Holger, On 3/7/07, holger krekel <[EMAIL PROTECTED]> wrote: > Hi Martijn! (hi CCed py-dev),
> hope you are doing well! Yes, still in Singapore actually but coming back this weekend. > I am considering doing a py lib 0.9.1 with a particular focus > on packaging and win32 issues. Could you maybe provide some pointers, > keypoints on what you think would be nice to have in this > area? I haven't really followed the packaging mechanisms in > the last year and need to catch up, i guess. Any help is > appreciated. I can't really tell you much about win32 issues. Concerning packaging - it's a fairly huge issue that I only have partial experience with too, but I'll attempt to give a few pointers based on my experience: * The minimal thing you'd want is an entry in the cheeseshop which points to the .tgz of the source somewhere on your site. If your setup.py is fairly straightforward you may be in luck; tools like easy_install (and buildout tools like zc.buildout, which can install packages locally instead of centrally) might very well be able to download and install the software automatically. I've even had this happen with lxml, which means a C-compile happens successfully. * Next, try some command like 'python setup.py sdist upload' to automatically upload tarballs to the cheeseshop itself. * the next step would be to look at setuptools, which is an extension of distutils. This stuff: http://peak.telecommunity.com/DevCenter/setuptools It is a lot of stuff and therefore somewhat intimidating. I believe the minimal way to start using setuptools is to replace your import in setup.py with setuptools instead of distutils. * once you use setuptools, you can use it to create an egg, which is just another way to package Python code for distribution. If it's just Python code, that's fairly simple as you get a platform independent egg. If it's C code you'll need to do some more work in the setup.py and eggs will be platform specific, but I believe setuptools automates quite a bit. You can use things like 'python setup.py bdist_egg upload' to upload the egg. Important in all this is to keep your setup.py relatively straightforward. Not always possible, but I've seen some setup.py's that do all kinds of work themselves that breaks a lot of all this, and that's a shame. egg downloading and such starts to get nice once you have automatic dependency management and the ability to install eggs as a user, using tools like zc.buildout (if you need lots of cooperating bits and pieces including things like databases and servers) or workingenv.py (lightweight clever hack). Both install eggs in some other place than /usr/lib/python2.4/site-packages, which is the default and rather ugly. I hope these pointers help you a bit to get you on your way. Regards, Martijn _______________________________________________ py-dev mailing list py-dev@codespeak.net http://codespeak.net/mailman/listinfo/py-dev