Re: Setuptools, build and install dependencies



Harry George <harry.g.george@xxxxxxxxxx> writes:

Robert Kern <robert.kern@xxxxxxxxx> 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
.



Relevant Pages

  • distutils alternatives?
    ... Python packages. ... currently got people launching three installers in the proper sequence ... does anyone know of an alternative to distutils that does this? ... for Gentoo ebuilds instead of Python packages. ...
    (comp.lang.python)
  • Re: [OT] How can I change Debians default Python version?
    ... Ganesan Rajagopal wrote: ... when I install Python packages using the convenient Synaptic Package ...
    (comp.lang.python)
  • Re: [OT] How can I change Debians default Python version?
    ... when I install Python packages using the convenient Synaptic Package ... Install python2.4 using synaptic. ... Ganesan ...
    (comp.lang.python)
  • Re: distutils alternatives?
    ... > heterogeneous mix of multiple packages and modules, ... What we tend to do is alter the setup script of the packages that we ... > for Gentoo ebuilds instead of Python packages. ... You want to be able to have a single installer that installs ...
    (comp.lang.python)
  • Re: python style guide inconsistencies
    ... Python packages should also have short, ... | MUST be either MixedCase or lowercase; ... I have the impression that tradition will change in 3.0 and your preference ...
    (comp.lang.python)