aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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)