[Distutils] Installing large applications

Tim Peters tim.one at comcast.net
Tue Jun 15 14:36:37 EDT 2004

[Fred L. Drake, Jr.]
> Proposal
> --------
> A new keyword, "application", will be supported by
> distutils.core.setup().  The value will be the name of the application
> and should be used to compute the default installation location.  The
> installation scheme will match that used by --home on Unix, and support
> for an equivalent scheme will be added on Windows.

If I knew what --home on Unix did, that would be comforting <wink>.

> A new command-line option will be added to allow the location to be
> changed.  "install --application <name>" will cause the installation to
> occur in /opt/<name>/ (or some Windows equivalent)

There seems to be an assumption that <name> includes a version number.  Then
plain \<name> or <drive>:\<name> may be suitable on Windows.

> instead of the default.  "install --application /some/path" will cause
> the installation to occur in /some/path/.

I don't understand how "install --application" distinguishes these forms.
One starts with a slash or backslash (on Windows a drive letter is also a
real possibility), and the other doesn't?

> Distutils should not allow the installaion to use an existing directory
> without an explicit override from the user (--force?).
> The Windows installer will be modified to allow alternate installation
> directories to be supported,

The plural "directories" confuses this for me.  It reads as if a single run
of "install.py --application" may actually specify multiple installation
directories.  Or is it that the Windows installer will be modified to allow
*an* (singular) alternate installation directory?

> and provide the same behavior for applications by default.

I'm not sure how much this proposal is intended to address.  An application
like Zope expects some of its components (like ZODB) to show up on sys.path,
without any runtime code of its own fiddling sys.path to make that happen.
The only ways to do that on Windows are to install such components under the
Python installation's Lib/site-packages/, or to add registry keys.  Neither
way allows two distinct versions of ZODB to be used with a single Python

I think you were intending to address this, because of the earlier:

> One interesting aspect for such applications is that it is often
> desirable to install multiple versions of the application on a single
> system.

There's only one Lib/site-packages/ per Python installation on Windows, and
it's inside the Python tree (*all* of Python is in "the Python tree" on
Windows -- binaries, libraries, docs, test suite, tools, everything).

More information about the Distutils-SIG mailing list