'Initialize snapshot of environment configuration.
:type args: IntegrationConfig'

def __init__(self, args):

    self.args = args
    if self.args.explain:
        self.data = {}
        return
    versions = ['']
    versions += SUPPORTED_PYTHON_VERSIONS
    versions += list(set((v.split('.')[0] for v in SUPPORTED_PYTHON_VERSIONS)))
    python_paths = dict(((v, find_executable(('python%s' % v), required=False)) for v in sorted(versions)))
    python_versions = dict(((v, self.get_version([python_paths[v], '-V'])) for v in sorted(python_paths) if python_paths[v]))
    pip_paths = dict(((v, find_executable(('pip%s' % v), required=False)) for v in sorted(versions)))
    pip_versions = dict(((v, self.get_version([pip_paths[v], '--version'])) for v in sorted(pip_paths) if pip_paths[v]))
    pip_interpreters = dict(((v, self.get_shebang(pip_paths[v])) for v in sorted(pip_paths) if pip_paths[v]))
    known_hosts_hash = self.get_hash(os.path.expanduser('~/.ssh/known_hosts'))
    self.data = dict(python_paths=python_paths, python_versions=python_versions, pip_paths=pip_paths, pip_versions=pip_versions, pip_interpreters=pip_interpreters, known_hosts_hash=known_hosts_hash)
