diff options
author | PJ Eby <distutils-sig@python.org> | 2008-09-24 17:22:00 +0000 |
---|---|---|
committer | PJ Eby <distutils-sig@python.org> | 2008-09-24 17:22:00 +0000 |
commit | 6e2695da160fb4fdb43005855ed10c5452199b6e (patch) | |
tree | 1c7f107dece2d266dc5f53e5eff165645c3e3245 | |
parent | 07b31962f2d56d4289bf334eea928b722cc56701 (diff) | |
download | external_python_setuptools-6e2695da160fb4fdb43005855ed10c5452199b6e.tar.gz external_python_setuptools-6e2695da160fb4fdb43005855ed10c5452199b6e.tar.bz2 external_python_setuptools-6e2695da160fb4fdb43005855ed10c5452199b6e.zip |
Keep site directories (e.g. site-packages) from being included in
.pth files. (backport from trunk)
--HG--
branch : setuptools-0.6
extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/branches/setuptools-0.6%4066609
-rwxr-xr-x | EasyInstall.txt | 2 | ||||
-rwxr-xr-x | setuptools/command/easy_install.py | 10 |
2 files changed, 7 insertions, 5 deletions
diff --git a/EasyInstall.txt b/EasyInstall.txt index c3c6e67d..b0341e88 100755 --- a/EasyInstall.txt +++ b/EasyInstall.txt @@ -1246,6 +1246,8 @@ Release Notes/Change History * Removed use of deprecated ``md5`` module if ``hashlib`` is available + * Keep site directories (e.g. ``site-packages``) from being included in + ``.pth`` files. 0.6c7 * ``ftp:`` download URLs now work correctly. diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py index eecc0b2a..f06b6ddd 100755 --- a/setuptools/command/easy_install.py +++ b/setuptools/command/easy_install.py @@ -272,7 +272,7 @@ class easy_install(Command): if is_site_dir: if self.pth_file is None: - self.pth_file = PthDistributions(pth_file) + self.pth_file = PthDistributions(pth_file, self.all_site_dirs) else: self.pth_file = None @@ -1315,8 +1315,8 @@ class PthDistributions(Environment): dirty = False - def __init__(self, filename): - self.filename = filename + def __init__(self, filename, sitedirs=()): + self.filename = filename; self.sitedirs=map(normalize_path, sitedirs) self.basedir = normalize_path(os.path.dirname(self.filename)) self._load(); Environment.__init__(self, [], None, None) for path in yield_lines(self.paths): @@ -1325,7 +1325,7 @@ class PthDistributions(Environment): def _load(self): self.paths = [] saw_import = False - seen = {} + seen = dict.fromkeys(self.sitedirs) if os.path.isfile(self.filename): for line in open(self.filename,'rt'): if line.startswith('import'): @@ -1381,7 +1381,7 @@ class PthDistributions(Environment): def add(self,dist): """Add `dist` to the distribution map""" - if dist.location not in self.paths: + if dist.location not in self.paths and dist.location not in self.sitedirs: self.paths.append(dist.location); self.dirty = True Environment.add(self,dist) |