Hey Martijn! thanks a lot for the pointers, they help - i think we should go for generating a plain no-tricks setup.py file. This way one can be rather specific of what should be included and such, i guess. Regarding win32: py.test can run tests remotely, i.e. from a linux box on a windows box with full feedback. If we have a permanent win32 host somewhere that can compile C via distutils (i know such things exist, it's just hard to get hold of such a configuration, grrr). And then finally have all-platform automated ad-hoc testing, maybe even with PDB interactive prompts etc :)
best & have a nice flight back, holger On Thu, Mar 08, 2007 at 17:05 +0100, Martijn Faassen wrote: > 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 > -- merlinux GmbH Steinbergstr. 42 31139 Hildesheim http://merlinux.de tel +49 5121 20800 75 (fax 77) _______________________________________________ py-dev mailing list py-dev@codespeak.net http://codespeak.net/mailman/listinfo/py-dev