diff --git a/lib/spack/spack/modules.py b/lib/spack/spack/modules.py
index 755e9ea9004020ab2a4f2c6332c63166aa625c0f..7d2ca97a62b8d39cb7cd18fb7f4ef24a50252a63 100644
--- a/lib/spack/spack/modules.py
+++ b/lib/spack/spack/modules.py
@@ -49,6 +49,7 @@
 import re
 import textwrap
 import shutil
+from glob import glob
 from contextlib import closing
 
 import llnl.util.tty as tty
@@ -123,6 +124,13 @@ def add_path(path_name, directory):
                 if os.path.isdir(directory):
                     add_path(var, directory)
 
+            # Add python path unless it's an actual python installation
+            # TODO: is there a better way to do this?
+            if self.spec.name != 'python':
+                site_packages = glob(join_path(self.spec.prefix.lib, "python*/site-packages"))
+                if site_packages:
+                    add_path('PYTHONPATH', site_packages[0])
+
             # short description is just the package + version
             # TODO: maybe packages can optionally provide it.
             self.short_description = self.spec.format("$_ $@")