when run coverage the second time, coverage/html.py line 127 will still try to create symbolic link even if the link has been created in the first try. It fails with exception. Suggest to do the following:
if not os.path.lexists(os.path.join(self.directory, static)): os.symlink(os.path.join(source_dir, static), os.path.join(self.directory, static))
vs. currently it simply create symlink regardless. This is particularly annoying for developers.