diff --git a/pep-0376.txt b/pep-0376.txt index 0f9b8a483..aa4e99722 100644 --- a/pep-0376.txt +++ b/pep-0376.txt @@ -218,6 +218,8 @@ Let's use it with our `zlib` example:: Adding an install and an uninstall script ========================================= +XXX decide wheter we include these scripts. + `easy_install` and `pip` does basically the same work, besides other features that are not discussed here. @@ -226,19 +228,49 @@ that are not discussed here. - they install it inside the site-packages directory - they add an entry in a .pth file +Distutils will provide two simple reference scripts, that are just able +to do the features mentioned. Third party packages will be able to fetch +dependencies. + +Install script +-------------- + A new script called `install.py` is added in a new directory called `scripts` in Distutils, and lets people run an installation using:: $ python -m distutils.scripts.install zlib +Where `zlib` can be: +- the name of the package +- an url of an archive +- a path + +The install script process is done in 3 steps: + +1. it looks for the package at PyPI if it's a package name + XXX explain here how (easy_install code) +2. it downloads it in a temporary directory (or copy it if it's a path) +3. it runs the install command, with the --record option + XXX explains here how (see pip code) + +The install script takes several options : + +Uninstall script +---------------- + An uninstall command is added as well that removes the files recorded in the RECORD file. This removal will warn on files that no longer exist and will not take care of side effects, like the removal of a file used by another element of the system. -XXX work to be done here : specification of the two commands -(probably a mix of easy_install and pip) + $ python -m distutils.scripts.uninstall zlib +XXX work to be done here : detail specification of the uninstall process + +Aknowledgments +============== + +Jim Fulton, Ian Bicking, Phillip Eby, and many people at Pycon and Distutils-SIG. Copyright =========