(known_paths, sys_prefix=sys.prefix, exec_prefix=sys.exec_prefix)
return None
Add site-packages (and possibly site-python) to sys.path
Add site-packages (and possibly site-python) to sys.path
Add site - packages ( and possibly site - python ) to sys . path
def addsitepackages(known_paths, sys_prefix=sys.prefix, exec_prefix=sys.exec_prefix):
    """Add site-packages (and possibly site-python) to sys.path"""
    prefixes = [os.path.join(sys_prefix, "local"), sys_prefix]
    if exec_prefix != sys_prefix:
        prefixes.append(os.path.join(exec_prefix, "local"))

    for prefix in prefixes:
        if prefix:
            if sys.platform in ("os2emx", "riscos") or _is_jython:
                sitedirs = [os.path.join(prefix, "Lib", "site-packages")]
            elif _is_pypy:
                sitedirs = [os.path.join(prefix, "site-packages")]
            elif sys.platform == "darwin" and prefix == sys_prefix:

                if prefix.startswith("/System/Library/Frameworks/"):  # Apple's Python

                    sitedirs = [
                        os.path.join("/Library/Python", sys.version[:3], "site-packages"),
                        os.path.join(prefix, "Extras", "lib", "python"),
                    ]

                else:  # any other Python distros on OSX work this way
                    sitedirs = [os.path.join(prefix, "lib", "python" + sys.version[:3], "site-packages")]

            elif os.sep == "/":
                sitedirs = [
                    os.path.join(prefix, "lib", "python" + sys.version[:3], "site-packages"),
                    os.path.join(prefix, "lib", "site-python"),
                    os.path.join(prefix, "python" + sys.version[:3], "lib-dynload"),
                ]
                lib64_dir = os.path.join(prefix, "lib64", "python" + sys.version[:3], "site-packages")
                if os.path.exists(lib64_dir) and os.path.realpath(lib64_dir) not in [
                    os.path.realpath(p) for p in sitedirs
                ]:
                    if _is_64bit:
                        sitedirs.insert(0, lib64_dir)
                    else:
                        sitedirs.append(lib64_dir)
                try:
                    # sys.getobjects only available in --with-pydebug build
                    sys.getobjects
                    sitedirs.insert(0, os.path.join(sitedirs[0], "debug"))
                except AttributeError:
                    pass
                # Debian-specific dist-packages directories:
                sitedirs.append(os.path.join(prefix, "local/lib", "python" + sys.version[:3], "dist-packages"))
                if sys.version[0] == "2":
                    sitedirs.append(os.path.join(prefix, "lib", "python" + sys.version[:3], "dist-packages"))
                else:
                    sitedirs.append(os.path.join(prefix, "lib", "python" + sys.version[0], "dist-packages"))
                sitedirs.append(os.path.join(prefix, "lib", "dist-python"))
            else:
                sitedirs = [prefix, os.path.join(prefix, "lib", "site-packages")]
            if sys.platform == "darwin":
                # for framework builds *only* we add the standard Apple
                # locations. Currently only per-user, but /Library and
                # /Network/Library could be added too
                if "Python.framework" in prefix:
                    home = os.environ.get("HOME")
                    if home:
                        sitedirs.append(os.path.join(home, "Library", "Python", sys.version[:3], "site-packages"))
            for sitedir in sitedirs:
                if os.path.isdir(sitedir):
                    addsitedir(sitedir, known_paths)
    return None
def addsitepackages ( known_paths , sys_prefix = sys . prefix , exec_prefix = sys . exec_prefix ) : prefixes = [ os . path . join ( sys_prefix , "local" ) , sys_prefix ] if exec_prefix != sys_prefix : prefixes . append ( os . path . join ( exec_prefix , "local" ) ) for prefix in prefixes : if prefix : if sys . platform in ( "os2emx" , "riscos" ) or _is_jython : sitedirs = [ os . path . join ( prefix , "Lib" , "site-packages" ) ] elif _is_pypy : sitedirs = [ os . path . join ( prefix , "site-packages" ) ] elif sys . platform == "darwin" and prefix == sys_prefix : if prefix . startswith ( "/System/Library/Frameworks/" ) : # Apple's Python sitedirs = [ os . path . join ( "/Library/Python" , sys . version [ : 3 ] , "site-packages" ) , os . path . join ( prefix , "Extras" , "lib" , "python" ) , ] else : # any other Python distros on OSX work this way sitedirs = [ os . path . join ( prefix , "lib" , "python" + sys . version [ : 3 ] , "site-packages" ) ] elif os . sep == "/" : sitedirs = [ os . path . join ( prefix , "lib" , "python" + sys . version [ : 3 ] , "site-packages" ) , os . path . join ( prefix , "lib" , "site-python" ) , os . path . join ( prefix , "python" + sys . version [ : 3 ] , "lib-dynload" ) , ] lib64_dir = os . path . join ( prefix , "lib64" , "python" + sys . version [ : 3 ] , "site-packages" ) if os . path . exists ( lib64_dir ) and os . path . realpath ( lib64_dir ) not in [ os . path . realpath ( p ) for p in sitedirs ] : if _is_64bit : sitedirs . insert ( 0 , lib64_dir ) else : sitedirs . append ( lib64_dir ) try : # sys.getobjects only available in --with-pydebug build sys . getobjects sitedirs . insert ( 0 , os . path . join ( sitedirs [ 0 ] , "debug" ) ) except AttributeError : pass # Debian-specific dist-packages directories: sitedirs . append ( os . path . join ( prefix , "local/lib" , "python" + sys . version [ : 3 ] , "dist-packages" ) ) if sys . version [ 0 ] == "2" : sitedirs . append ( os . path . join ( prefix , "lib" , "python" + sys . version [ : 3 ] , "dist-packages" ) ) else : sitedirs . append ( os . path . join ( prefix , "lib" , "python" + sys . version [ 0 ] , "dist-packages" ) ) sitedirs . append ( os . path . join ( prefix , "lib" , "dist-python" ) ) else : sitedirs = [ prefix , os . path . join ( prefix , "lib" , "site-packages" ) ] if sys . platform == "darwin" : # for framework builds *only* we add the standard Apple # locations. Currently only per-user, but /Library and # /Network/Library could be added too if "Python.framework" in prefix : home = os . environ . get ( "HOME" ) if home : sitedirs . append ( os . path . join ( home , "Library" , "Python" , sys . version [ : 3 ] , "site-packages" ) ) for sitedir in sitedirs : if os . path . isdir ( sitedir ) : addsitedir ( sitedir , known_paths ) return None