If --prefix is in sys.argv, then set up sys.path and os.environ['PYTHONPATH'] to contain the appropriate site-packages subdir of the prefix dir
diff --git a/setup.py b/setup.py
index 702e333..343235c 100755
--- a/setup.py
+++ b/setup.py
@@ -11,10 +11,46 @@
 Installation script for the OpenSSL module
 """
 
+import os, sys
+
+def pylibdir(prefixdir):
+    pyver = "python%d.%d" % (sys.version_info[:2])
+    if sys.platform == "win32":
+        return os.path.join(prefixdir, "Lib", "site-packages")
+    else:
+        return os.path.join(prefixdir, "lib", pyver, "site-packages")
+    
+for i in range(len(sys.argv)):
+    arg = sys.argv[i]
+    prefixdir = None
+    if arg.startswith("--prefix="):
+        prefixdir = arg[len("--prefix="):]
+    if arg == "--prefix":
+        if len(sys.argv) > i+1:
+            prefixdir = sys.argv[i+1]
+        
+    if prefixdir:
+        libdir = pylibdir(prefixdir)
+        try:
+            os.makedirs(libdir)
+        except EnvironmentError, le:
+            # Okay, maybe the dir was already there.
+            pass
+        sys.path.append(libdir)
+        print "os.environ.get('PYTHONPATH') is now ", os.environ.get('PYTHONPATH')
+        pp = os.environ.get('PYTHONPATH','').split(':')
+        pp.append(libdir)
+        os.environ['PYTHONPATH'] = ':'.join(pp)
+        print "os.environ.get('PYTHONPATH') is now ", os.environ.get('PYTHONPATH')
+
+        
+        
+        
+    
+
 # Use setuptools if it's available.
 from setuptools import Extension, setup
 from glob import glob
-import os, sys
 
 from version import __version__