Setuptools, build and install dependencies
John J. Lee
jjl at pobox.com
Mon Jun 25 16:06:59 EDT 2007
Harry George <harry.g.george at boeing.com> writes:
> Robert Kern <robert.kern at gmail.com> writes:
>
>> Harry George wrote:
>>
>>> We need to know the dependencies, install them in dependency order,
>>> and expect the next package to find them. "configure" does this for
>>> hundreds of packages. cmake, scons, and others also tackle this
>>> problem. Python's old setup.py seems to be able to do it.
>>
>> No, generic setup.py scripts don't do anything of that kind.
>>
>
> Ok, setup.py itself may not do the work, but from the end users'
> perspective it works that way. Setup.py runs a configure and a make,
> which in turn find the right already-installed libraries. The point
> is, setup.py plays well in such an environment.
Some setuptools-based packages do that. Some pure-distutils packages
do that.
Some setuptools-based packages don't do that. Some pure-distutils
packages don't do that.
Regardless of that logic, it's true that, pragmatically, setuptools'
support for dependency resolution encourages an increasing reliance on
explicitly-declared dependencies on *Python* projects ("project" here
meaning something with a setup.py -- a project may contain several
Python packages / modules, and several projects may provide (parts of)
a single Python package, as with zope.*). However, pre-setuptools,
one rarely saw Python packages being discovered using autotools
(configure &c.). *System* features (presence/absence of libraries,
&c.) were indeed discovered that way. I don't know of any Python
projects that previously used autotools and stopped doing so as part
of a switch to setuptools).
John
More information about the Python-list
mailing list