[Python-Dev] Raising objections

Walter Dörwald walter at livinglogic.de
Wed Apr 19 09:11:37 CEST 2006


Anthony Baxter wrote:
> On Wednesday 19 April 2006 16:22, Walter Dörwald wrote:
>> If I'm not calling shared libraries from Python I can ignore
>> ctypes. If I'm not doing XML, I can ignore elementtree. If I'm not
>> doing SQL I can ignore pysqlite and if I'm not interested in
>> profiling I can ignore cProfile. But setuptools will potentially
>> affect anyone that uses third-party modules/packages.
> 
> Sure. It might mean people can automatically install something like 
> TurboGears and all it's dependencies, without stuffing their existing 
> required versions (thanks to eggs) and without having to fetch 16 
> different packages. Oh, the horror! <wink>

I'm not saying that setuptools doesn't fix a real problem. It does! I'm 
just saying that for something that might have this far reaching 
consequences, the "why" and "how" should be documented somewhere. And 
this "somewhere" shouldn't be the depths of the distutils-SIG archives.

>> And ctypes, elementtree and pysqlite are mature packages.
>> setuptools isn't even finished yet.
> 
> Neither is distutils. setuptools at least is likely to be "finished", 
> whatever that means.
> 
>> Wouldn't I need at least have to change "from distutils.core import
>> setup" to "from setuptools import setup"? Or to something like:
> 
> Nope, only if you want to use the new, nicer functionality. If you 
> want to stick with the status quo, you're quite welcome to.

After two failed attempts to use setuptools for my own projects, I'd 
still like to use it, but this seems difficult (maybe this has changed 
since then, so correct me if I'm wrong): I'd like to distribute my 
modules as modules inside the top-level ll package. With distutils I can 
put the package __init__.py into either a separate distributing archive 
or into the core distribution archive and ignore the warning given by 
setup.py for the other packages. With setuptools this doesn't work, 
because the package is distributed over multiple egg-directories. AFAICR 
setuptools has a solution for this, but only if the package __init__.py 
is empty (because setuptools generates it). But I'd like to put at least 
a useful docstring into this __init__.py.

Servus,
    Walter



More information about the Python-Dev mailing list