aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPJ Eby <distutils-sig@python.org>2008-09-24 17:22:00 +0000
committerPJ Eby <distutils-sig@python.org>2008-09-24 17:22:00 +0000
commit6e2695da160fb4fdb43005855ed10c5452199b6e (patch)
tree1c7f107dece2d266dc5f53e5eff165645c3e3245
parent07b31962f2d56d4289bf334eea928b722cc56701 (diff)
downloadexternal_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-xEasyInstall.txt2
-rwxr-xr-xsetuptools/command/easy_install.py10
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)