old_contents: """
  If setuptools is not already installed in the environment, it's not possible
  to invoke setuptools' own commands. This routine will bootstrap this local
  environment by creating a minimal egg-info directory and then invoking the
  egg-info command to flesh out the egg-info directory.
  """
  
  import os
  import sys
  import textwrap
  import subprocess
  import io
  
  
  minimal_egg_info = textwrap.dedent("""
      [distutils.commands]
      egg_info = setuptools.command.egg_info:egg_info
  
      [distutils.setup_keywords]
      include_package_data = setuptools.dist:assert_bool
      install_requires = setuptools.dist:check_requirements
      extras_require = setuptools.dist:check_extras
      entry_points = setuptools.dist:check_entry_points
  
      [egg_info.writers]
      dependency_links.txt = setuptools.command.egg_info:overwrite_arg
      entry_points.txt = setuptools.command.egg_info:write_entries
      requires.txt = setuptools.command.egg_info:write_requirements
      """)
  
  
  def ensure_egg_info():
      if os.path.exists('setuptools.egg-info'):
          return
      print("adding minimal entry_points")
      build_egg_info()
  
  
  def build_egg_info():
      """
      Build a minimal egg-info, enough to invoke egg_info
      """
  
      os.mkdir('setuptools.egg-info')
      with io.open('setuptools.egg-info/entry_points.txt', 'w') as ep:
          ep.write(minimal_egg_info)
  
  
  def run_egg_info():
      cmd = [sys.executable, 'setup.py', 'egg_info']
      print("Regenerating egg_info")
      subprocess.check_call(cmd)
      print("...and again.")
      subprocess.check_call(cmd)
  
  
  def main():
      ensure_egg_info()
      run_egg_info()
  
  
  __name__ == '__main__' and main()
  
new_contents: """
  If setuptools is not already installed in the environment, it's not possible
  to invoke setuptools' own commands. This routine will bootstrap this local
  environment by creating a minimal egg-info directory and then invoking the
  egg-info command to flesh out the egg-info directory.
  """
  
  from __future__ import unicode_literals
  
  import os
  import sys
  import textwrap
  import subprocess
  import io
  
  
  minimal_egg_info = textwrap.dedent("""
      [distutils.commands]
      egg_info = setuptools.command.egg_info:egg_info
  
      [distutils.setup_keywords]
      include_package_data = setuptools.dist:assert_bool
      install_requires = setuptools.dist:check_requirements
      extras_require = setuptools.dist:check_extras
      entry_points = setuptools.dist:check_entry_points
  
      [egg_info.writers]
      dependency_links.txt = setuptools.command.egg_info:overwrite_arg
      entry_points.txt = setuptools.command.egg_info:write_entries
      requires.txt = setuptools.command.egg_info:write_requirements
      """)
  
  
  def ensure_egg_info():
      if os.path.exists('setuptools.egg-info'):
          return
      print("adding minimal entry_points")
      build_egg_info()
  
  
  def build_egg_info():
      """
      Build a minimal egg-info, enough to invoke egg_info
      """
  
      os.mkdir('setuptools.egg-info')
      with io.open('setuptools.egg-info/entry_points.txt', 'w') as ep:
          ep.write(minimal_egg_info)
  
  
  def run_egg_info():
      cmd = [sys.executable, 'setup.py', 'egg_info']
      print("Regenerating egg_info")
      subprocess.check_call(cmd)
      print("...and again.")
      subprocess.check_call(cmd)
  
  
  def main():
      ensure_egg_info()
      run_egg_info()
  
  
  __name__ == '__main__' and main()
  
subject: Use unicode_literals in bootstrap script