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"
 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_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" 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_at = 1 return ( ( lines [ : activate_at ] + [ '' , activate , '' ] ) + lines [ activate_at : ] )
return a script thatll work in a relocatable environment .