Exemplo n.º 1
0
def activate_pex():
    sys.stderr.write('[loadpex] bootstrapping..\n')

    entry_point = os.environ.get('PEX_ENTRY')
    if not entry_point:
        sys.stderr.write(
            '[loadpex] couldnt determine pex from PEX_ENTRY environment variable, bailing!\n'
        )
        sys.exit(1)

    sys.stderr.write('[loadpex] entry_point=%s\n' % entry_point)

    sys.path[0] = os.path.abspath(sys.path[0])
    sys.path.insert(0, entry_point)
    sys.path.insert(0, os.path.abspath(os.path.join(entry_point,
                                                    '.bootstrap')))

    from _pex import pex_bootstrapper

    pex_bootstrapper.bootstrap_pex_env(entry_point)

    # import & reload in our newly bootstrapped environment
    import pkg_resources
    reload(pkg_resources)

    sys.stderr.write('[loadpex] sys.path=%s\n\n' % sys.path)
    return
Exemplo n.º 2
0
def activate_pex():
    entry_point = os.environ.get('UWSGI_PEX')
    if not entry_point:
        sys.stderr.write(
            'couldnt determine pex from UWSGI_PEX environment variable, bailing!\n'
        )
        sys.exit(1)

    sys.stderr.write('PEX bootstrap: entry_point=%s\n' % entry_point)

    cur_path = os.path.abspath(sys.path.pop(0))
    sys.path.insert(0, entry_point)
    sys.path.insert(0, os.path.abspath(os.path.join(entry_point,
                                                    '.bootstrap')))
    old_sys_path = copy.copy(sys.path)

    from _pex.pex_bootstrapper import bootstrap_pex_env
    bootstrap_pex_env(entry_point)

    # move system path to the end
    sys.path = [p for p in sys.path if p not in old_sys_path]
    sys.path += old_sys_path
    # insert current working path so it's eaiser to hot patch app
    sys.path.insert(0, cur_path)
    sys.stderr.write('PEX bootstrap: sys.path=%s\n\n' % sys.path)
Exemplo n.º 3
0
def activate_pex():
    entry_point = os.environ.get('UWSGI_PEX')
    if not entry_point:
        sys.stderr.write('[pex] Could not determine pex from UWSGI_PEX.\n')
        sys.exit(1)

    sys.stderr.write('[pex] entry_point={}\n'.format('.bootstrap'))
    sys.path[0] = os.path.abspath(sys.path[0])
    sys.path.insert(0, entry_point)
    sys.path.insert(0, os.path.abspath(os.path.join(entry_point, '.bootstrap')))

    from _pex import pex_bootstrapper
    pex_bootstrapper.bootstrap_pex_env(entry_point)
    sys.stderr.write('[pex] Bootstrapping succeeded.\n')
Exemplo n.º 4
0
def activate_pex():
  sys.stderr.write('[pex_uwsgi] bootstrapping..\n')

  entry_point = os.environ.get('UWSGI_PEX')
  if not entry_point:
    sys.stderr.write(
      '[pex_uwsgi] couldnt determine pex from UWSGI_PEX environment variable, bailing!\n'
    )
    sys.exit(1)

  sys.stderr.write('[pex_uwsgi] entry_point=%s\n' % entry_point)

  sys.path[0] = os.path.abspath(sys.path[0])
  sys.path.insert(0, entry_point)
  sys.path.insert(0, os.path.abspath(os.path.join(entry_point, '.bootstrap')))

  from _pex import pex_bootstrapper

  if hasattr(pex_bootstrapper, 'bootstrap_pex_env'):
    # New-style pex bootstrapping.
    pex_bootstrapper.bootstrap_pex_env(entry_point)
  else:
    # Old and even older-style pex bootstrapping.
    from _pex.environment import PEXEnvironment
    from _pex.pex_info import PexInfo

    try:
      pex_bootstrapper.monkeypatch_build_zipmanifest()
    except AttributeError:
      pass

    try:
      from _pex.finders import register_finders
      register_finders()
    except (ImportError, NameError):
      pass

    pex_info = PexInfo.from_pex(entry_point)
    env = PEXEnvironment(entry_point, pex_info)
    env.activate()

  # import & reload in our newly bootstrapped environment
  import pkg_resources
  reload(pkg_resources)

  sys.stderr.write('[pex_uwsgi] sys.path=%s\n\n' % sys.path)
  return
Exemplo n.º 5
0
def activate_pex():
    sys.stderr.write('[pex_uwsgi] bootstrapping..\n')

    entry_point = os.environ.get('UWSGI_PEX')
    if not entry_point:
        sys.stderr.write(
            '[pex_uwsgi] couldnt determine pex from UWSGI_PEX environment variable, bailing!\n'
        )
        sys.exit(1)

    sys.stderr.write('[pex_uwsgi] entry_point=%s\n' % entry_point)

    sys.path[0] = os.path.abspath(sys.path[0])
    sys.path.insert(0, entry_point)
    sys.path.insert(0, os.path.abspath(os.path.join(entry_point,
                                                    '.bootstrap')))

    from _pex import pex_bootstrapper

    if hasattr(pex_bootstrapper, 'bootstrap_pex_env'):
        # New-style pex bootstrapping.
        pex_bootstrapper.bootstrap_pex_env(entry_point)
    else:
        # Old and even older-style pex bootstrapping.
        from _pex.environment import PEXEnvironment
        from _pex.pex_info import PexInfo

        try:
            pex_bootstrapper.monkeypatch_build_zipmanifest()
        except AttributeError:
            pass

        try:
            from _pex.finders import register_finders
            register_finders()
        except (ImportError, NameError):
            pass

        pex_info = PexInfo.from_pex(entry_point)
        env = PEXEnvironment(entry_point, pex_info)
        env.activate()

    sys.stderr.write('[pex_uwsgi] sys.path=%s\n\n' % sys.path)
    return
Exemplo n.º 6
0
def activate_pex():
    entry_point = os.environ.get('UWSGI_PEX')
    if not entry_point:
        sys.stderr.write('couldnt determine pex from UWSGI_PEX environment variable, bailing!\n')
        sys.exit(1)

    sys.stderr.write('PEX bootstrap: entry_point=%s\n' % entry_point)

    cur_path = os.path.abspath(sys.path.pop(0))
    sys.path.insert(0, entry_point)
    sys.path.insert(0, os.path.abspath(os.path.join(entry_point, '.bootstrap')))
    old_sys_path = copy.copy(sys.path)

    from _pex.pex_bootstrapper import bootstrap_pex_env
    bootstrap_pex_env(entry_point)

    # move system path to the end
    sys.path = [p for p in sys.path if p not in old_sys_path]
    sys.path += old_sys_path
    # insert current working path so it's eaiser to hot patch app
    sys.path.insert(0, cur_path)
    sys.stderr.write('PEX bootstrap: sys.path=%s\n\n' % sys.path)
Exemplo n.º 7
0
    from pkgutil import ImpLoader
    if hasattr(__loader__, 'archive'):
        __entry_point__ = __loader__.archive
    elif isinstance(__loader__, ImpLoader):
        __entry_point__ = os.path.dirname(__loader__.get_filename())

if __entry_point__ is None:
    sys.stderr.write('Could not launch python executable!\\n')
    sys.exit(2)

sys.path[0] = os.path.abspath(sys.path[0])
sys.path.insert(0, os.path.abspath(os.path.join(__entry_point__,
                                                '.bootstrap')))

from _pex.pex_bootstrapper import bootstrap_pex_env, is_compressed
bootstrap_pex_env(__entry_point__)

if is_compressed(__entry_point__):
    import contextlib, zipfile
    with contextlib.closing(zipfile.ZipFile(__entry_point__)) as zf:
        __lambdex_info_blob = zf.read('LAMBDEX-INFO')
else:
    with open(os.path.join(__entry_point__, 'LAMBDEX-INFO'), 'rb') as fp:
        __lambdex_info_blob = fp.read()

import json as __json
__lambdex_info = __json.loads(__lambdex_info_blob)
from pkg_resources import EntryPoint as __EntryPoint
__RUNNER = __EntryPoint.parse('run = %s' %
                              __lambdex_info['entry_point']).resolve()