Three cheers for distutils 0.1!
Unfortunately it fails to install itself on my NT box.
D:\TEMP\Distutils-0.1>python setup.py -v install
running install
running build
running build_py
not copying distutils\ccompiler.py (output up-to-date)
not copying distutils\core.py (output up-to-date)
not copying distutils\errors.py (output up-to-date)
not copying distutils\fancy_getopt.py (output up-to-date)
not copying distutils\msvccompiler.py (output up-to-date)
not copying distutils\spawn.py (output up-to-date)
not copying distutils\sysconfig.py (output up-to-date)
not copying distutils\text_file.py (output up-to-date)
not copying distutils\unixccompiler.py (output up-to-date)
not copying distutils\util.py (output up-to-date)
not copying distutils\version.py (output up-to-date)
not copying distutils\__init__.py (output up-to-date)
not copying distutils\command\build.py (output up-to-date)
not copying distutils\command\build_ext.py (output up-to-date)
not copying distutils\command\build_py.py (output up-to-date)
not copying distutils\command\dist.py (output up-to-date)
not copying distutils\command\install.py (output up-to-date)
not copying distutils\command\install_ext.py (output up-to-date)
not copying distutils\command\install_py.py (output up-to-date)
not copying distutils\command\__init__.py (output up-to-date)
running install_py
creating D:\Python1.5.2
Traceback (innermost last):
File "setup.py", line 22, in ?
packages = ['distutils', 'distutils.command'],
File "distutils\core.py", line 87, in setup
dist.run_commands ()
File "distutils\core.py", line 377, in run_commands
self.run_command (cmd)
File "distutils\core.py", line 426, in run_command
cmd_obj.run ()
File "distutils\command\install.py", line 287, in run
self.run_peer ('install_py')
File "distutils\core.py", line 710, in run_peer
self.distribution.run_command (command)
File "distutils\core.py", line 426, in run_command
cmd_obj.run ()
File "distutils\command\install_py.py", line 51, in run
outfiles = self.copy_tree (self.build_dir, self.install_dir)
File "distutils\core.py", line 773, in copy_tree
self.distribution.dry_run)
File "distutils\util.py", line 318, in copy_tree
mkpath (dst, verbose=verbose)
File "distutils\util.py", line 74, in mkpath
raise DistutilsFileError, "%s: %s" % (head, errstr)
distutils.errors.DistutilsFileError: D:\Python1.5.2: File exists
To fix this I changed line 317 of distutils/util.py to:
if not dry_run and not os.path.exists(os.path.normpath(dst)):
This checks to see if the destination directory already exists before
creating it. Note: I had to use normpath since for me dst was
'D:\\Python1.5.2\\' which os.path.exists claims doesn't exist, while
'D:\\Python1.5.2' does exist.
-Amos