how GNU stow is complementary rather than alternative to distutils

Nick Craig-Wood nick at
Mon May 11 05:30:04 EDT 2009

Zooko Wilcox-O'Hearn <zooko at> wrote:
>  On May 10, 2009, at 11:18 AM, Martin v. Löwis wrote:
> > If GNU stow solves all your problems, why do you want to use  
> > easy_install in the first place?
>  That's a good question.  The answer is that there are two separate  
>  jobs: building executables and putting them in a directory structure  
>  of the appropriate shape for your system is one job, and installing  
>  or uninstalling that tree into your system is another.  GNU stow does  
>  only the latter.
>  The input to GNU stow is a set of executables, library files, etc.,  
>  in a directory tree that is of the right shape for your system.  For  
>  example, if you are on a Linux system, then your scripts all need to  
>  be in $prefix/bin/, your shared libs should be in $prefix/lib, your  
>  Python packages ought to be in $prefix/lib/python$x.$y/site- 
>  packages/, etc.  GNU stow is blissfully ignorant about all issues of  
>  building binaries, and choosing where to place files, etc. -- that's  
>  the job of the build system of the package, e.g. the "./configure -- 
>  prefix=foo && make && make install" for most C packages, or the  
>  "python ./ install --prefix=foo" for Python packages using  
>  distutils (footnote 1).
>  Once GNU stow has the well-shaped directory which is the output of  
>  the build process, then it follows a very dumb, completely reversible  
>  (uninstallable) process of symlinking those files into the system  
>  directory structure.

Once you've got that well formed directory structure it is very easy
to make it into a package (eg deb or rpm) so that idea is useful in
general for package managers, not just stow.

Nick Craig-Wood <nick at> --

More information about the Python-list mailing list