diff --git a/var/spack/packages/py-ipython/package.py b/var/spack/packages/py-ipython/package.py
index 731e661dfda9462e35d4a3b5673c04692775e362..907ea9edcdba555d611d08025e55bd6fd9d10e05 100644
--- a/var/spack/packages/py-ipython/package.py
+++ b/var/spack/packages/py-ipython/package.py
@@ -9,6 +9,7 @@ class PyIpython(Package):
 
     extends('python')
     depends_on('py-pygments')
+    depends_on('py-setuptools')
 
     def install(self, spec, prefix):
         python('setup.py', 'install', '--prefix=%s' % prefix)
diff --git a/var/spack/packages/py-mpi4py/package.py b/var/spack/packages/py-mpi4py/package.py
index fdea340dc211e360dd837ddd9dacf481372e1ca4..8001689a18dae9409c509b57dde0750b7b3d24d6 100644
--- a/var/spack/packages/py-mpi4py/package.py
+++ b/var/spack/packages/py-mpi4py/package.py
@@ -7,6 +7,7 @@ class PyMpi4py(Package):
 
     version('1.3.1', 'dbe9d22bdc8ed965c23a7ceb6f32fc3c')
     extends('python')
+    depends_on('py-setuptools')
     depends_on('mpi')
 
     def install(self, spec, prefix):
diff --git a/var/spack/packages/py-nose/package.py b/var/spack/packages/py-nose/package.py
index 6df84e831d1674a760db84d6209a6d330a5af547..b902a35fbb073831ac28f9dc24ce771c1cd6c909 100644
--- a/var/spack/packages/py-nose/package.py
+++ b/var/spack/packages/py-nose/package.py
@@ -10,6 +10,7 @@ class PyNose(Package):
     version('1.3.4', '6ed7169887580ddc9a8e16048d38274d')
 
     extends('python')
+    depends_on('py-setuptools')
 
     def install(self, spec, prefix):
         python('setup.py', 'install', '--prefix=%s' % prefix)
diff --git a/var/spack/packages/py-pylint/package.py b/var/spack/packages/py-pylint/package.py
index ebde861f9476c1853ea3b9ee83eafe433d36f588..7a6ee7dbbce43b36a667ea5d79eb392635b86562 100644
--- a/var/spack/packages/py-pylint/package.py
+++ b/var/spack/packages/py-pylint/package.py
@@ -8,9 +8,9 @@ class PyPylint(Package):
 
     version('1.4.1', 'df7c679bdcce5019389038847e4de622')
 
-#    extends('python')
-    extends('python', ignore=lambda f:re.match(r"site.py*", f))
+    extends('python')
     depends_on('py-nose')
+    depends_on('py-setuptools')
 
     def install(self, spec, prefix):
         python('setup.py', 'install', '--prefix=%s' % prefix)
diff --git a/var/spack/packages/py-virtualenv/package.py b/var/spack/packages/py-virtualenv/package.py
index c1b359e16490339b8dc707b925e5b3e34df6be58..9d94c2dcda088b711b930ff17274fd6720a98af7 100644
--- a/var/spack/packages/py-virtualenv/package.py
+++ b/var/spack/packages/py-virtualenv/package.py
@@ -9,6 +9,7 @@ class PyVirtualenv(Package):
     version('1.11.6', 'f61cdd983d2c4e6aeabb70b1060d6f49')
 
     extends('python')
+    depends_on('py-setuptools')
 
     def clean(self):
         if os.path.exists('build'):