On 8/10/05, Phillip J. Eby
At 01:00 PM 8/10/2005 -0500, Ian Bicking wrote:
Has there been any progress on some of the package management tools people were talking about? I.e., list and delete packages? (At the moment no other features come to mind, but I'm definitely seeing a purpose for these functions) Someone said they were going to give it a go, but I can't remember who.
It was Paul Moore.
It was indeed. I haven't forgotten, but a number of things have kept me from making progress yet. The first is the usual lack of time, but that's not a limiting factor here, really. I've also been waiting for the reorganisation of the API that Phillip promised, but again that's not a real problem - I can use CVS if I need to. My main issue is one of perspective, I guess. I'm not a package maintainer, so much of the setuptools stuff (resource APIs, entry points etc, etc) is not directly relevant to me. I'm a package *user*, and so my viewpoint is of eggs as an alternative to Windows bdist_wininst installers. Hence my interest in management tools - installers come with a number of benefits "free", as part of the Windows installer architecture - you get an uninstall "command", you can see a listing of installed packages, and you can see the version numbers of those packages. Until I can do the same with eggs, they are a step backwards for me. So that's why I want to build these features. OK, so given that I have to write some code to bring eggs onto a par with installers, where's the benefit of eggs, *to me*, which would make me want to switch to them in the first place? And that's where I get stalled. I can see lots of benefits to eggs - for example Trac's new feature allowing you to just drop an egg containing a plugin into a predefined directory is really exciting - but they don't apply to my simple requirement to install packages like cx_Oracle, pywin32, ctypes, Cheetah, into my standard Python installation. So - a question for Phillip. Do you see eggs supplanting bdist_wininst installers on Windows as the standard way of distributing Python packages? If so, what do you see as the benefit to the end user, which would prompt that switch? *Not* to the package developer, please note - ultimately a developer can just as easily run python setup.py bdist_wininst as python setup.py bdist_egg, and I doubt that users will switch enthusiastically to using eggs simply because developers switch to only offering them... (Switch maybe, but I doubt the enthusiasm :-)) This is more than just a philosophical issue, in that a lot of the egg infrastructure (development installs, for example) don't seem to me to be relevant to the end user scenario. So, from my perspective, I don't understand the imperatives which make them useful, and consequently I can't do a good job of designing list/uninstall commands around them. And I have no need for the facilities, so no incentive to cater for them (beyond the desire to do a good job...) As I say, I still intend to do this, but I'm waiting to get a clearer picture of how eggs fit into the end-user environment (as opposed to the developer environment) before I do so. Ian - how this fits in with your requirements, I'm not sure. I really don't follow your comments at all well, as I don't have the relevant background (at the level I develop stuff, the prerequisite version compatibility issues you describe just don't come into it - I only distribute to a very limited set of targets, all of which are closely controlled in terms of what is installed, so I have the luxury of expecting things to "just work"). It's on my list of things to do, to go back over the various recent postings and try to understand the developer perspective better. But I still view the end-user side of things as the first priority. Hope this helps, Paul.