[Python-Dev] .pth files are evil

P.J. Eby pje at telecommunity.com
Sat May 9 16:41:02 CEST 2009

At 04:18 PM 5/9/2009 +0200, Martin v. Löwis wrote:
>Zooko O'Whielacronx wrote:
> > .pth files are why I can't easily use GNU stow with easy_install.
> > If installing a Python package involved writing new files into the
> > filesystem, but did not require reading, updating, and re-writing any
> > extant files such as .pth files, then GNU stow would Just Work with
> > easy_install the way it Just Works with most things.
>Please understand that this is the fault of easy_install, not of .pth
>files. There is no technical need for easy_install to rewrite .pth
>files on installation. It could just as well have created new .pth
>files, rather than modifying existing ones.
>If you always use --single-version-externally-managed with easy_install,
>it will stop editing .pth files on installation.

It's --multi-version (-m) that does 
that.  --single-version-externally-managed is a "setup.py install" option.

Both have the effect of not editing .pth files, but they do so in 
different ways.  The "setup.py install" option causes it to install 
in a distutils-compatible layout, whereas --multi-version simply 
drops .egg files or directories in the target location and leaves it 
to the user (or the generated script wrappers) to add them to sys.path.

More information about the Python-list mailing list