(lines)
return lines[:activate_at] + ['', activate, ''] + lines[activate_at:]
Return a script that'll work in a relocatable environment.
Return a script that'll work in a relocatable environment.
Return a script that ll work in a relocatable environment .
def relative_script(lines):
    "Return a script that'll work in a relocatable environment."
    activate = "import os; activate_this=os.path.join(os.path.dirname(os.path.realpath(__file__)), 'activate_this.py'); exec(compile(open(activate_this).read(), activate_this, 'exec'), dict(__file__=activate_this)); del os, activate_this"
    # Find the last future statement in the script. If we insert the activation
    # line before a future statement, Python will raise a SyntaxError.
    activate_at = None
    for idx, line in reversed(list(enumerate(lines))):
        if line.split()[:3] == ['from', '__future__', 'import']:
            activate_at = idx + 1
            break
    if activate_at is None:
        # Activate after the shebang.
        activate_at = 1
    return lines[:activate_at] + ['', activate, ''] + lines[activate_at:]
def relative_script ( lines ) : activate = "import os; activate_this=os.path.join(os.path.dirname(os.path.realpath(__file__)), 'activate_this.py'); exec(compile(open(activate_this).read(), activate_this, 'exec'), dict(__file__=activate_this)); del os, activate_this" # Find the last future statement in the script. If we insert the activation # line before a future statement, Python will raise a SyntaxError. activate_at = None for idx , line in reversed ( list ( enumerate ( lines ) ) ) : if line . split ( ) [ : 3 ] == [ 'from' , '__future__' , 'import' ] : activate_at = idx + 1 break if activate_at is None : # Activate after the shebang. activate_at = 1 return lines [ : activate_at ] + [ '' , activate , '' ] + lines [ activate_at : ]