title: determine current python installation parent path, python folder name, and full path
body: <p>on windows sys.prefix is the python folder, but linux it points to /usr generally which now means a directory hunt by name must occur unless there is another way.</p>
  
  <p>Is there?</p>
  
  <p>Relying on the folder name is chaotic too, 'Python27', 'python2.7' just to name the frequent ones.</p>
  
  <p>Is this script overkill? Am I doing this right?</p>
  
  <p>os.environ can't help because there may not be a PYTHON_PATH, or whats running may not match</p>
  
  <p>sys.executable can't help because it would only be right on windows.</p>
  
  <pre><code>#!/usr/bin/env python
  # -*- coding: UTF-8 -*-
  # rev 0.0.0.1
  import os, platform, sys
  """File: _python_pfn.py
  Seems excessive...
  3 imports, 3 functions, 30 lines just to 
  determine current python installation parent path, python folder name, and full path
  """
  def _python_parent():
      """assume linux, but if windows just return sys.prefix"""
      ret = os.path.join('{}'.format(sys.prefix), 'lib')
      if platform.uname()[0] == 'Windows':
          ret = '{}'.format(sys.prefix)
      return ret
  
  def _python_name(path):#, major=None, minor=None
      """assume windows, but if not listdir and find"""
      ma, mi = (str(sys.version_info[0]), str(sys.version_info[1]))
      #if major is not None: ma = str(major)
      #if minor is not None: ma = str(minor)
      ret = os.path.split(path)[1]
      if platform.uname()[0] != 'Windows':
          ls = [k for k in os.listdir(path) if os.path.isdir(os.path.join(path, k)) ]
          for k in ls:
              if k.lower().find('python') != -1:
                  if k.find(ma) != -1:
                      if k.find(mi) != -1:
                          ret = k
      return ret
  
  def _python_path(path):
      """use as _python_path(_python_parent())"""
      return os.path.join(path, _python_name(path))
  </code></pre>