--- zc/buildout/buildout.py +++ zc/buildout/buildout.py @@ -753,9 +753,7 @@ if not f: continue f = self._buildout_path(f) - if os.path.isdir(f): - rmtree(f) - elif os.path.isfile(f): + if os.path.isfile(f) or os.path.islink(f): try: os.remove(f) except OSError: @@ -770,6 +768,8 @@ # and, of course, it's in use. Leave it. ): raise + elif os.path.isdir(f): + rmtree(f) def _install(self, part): options = self[part]