def CreateLink(target_path, link_path, override=True):
_AssertIsLocal(target_path)<EOL>_AssertIsLocal(link_path)<EOL>if override and IsLink(link_path):<EOL><INDENT>DeleteLink(link_path)<EOL><DEDENT>dirname = os.path.dirname(link_path)<EOL>if dirname:<EOL><INDENT>CreateDirectory(dirname)<EOL><DEDENT>if sys.platform != '<STR_LIT:win32>':<EOL><INDENT>return os.symlink(target_path, link_path)  <EOL><DEDENT>else:<EOL><INDENT>import jaraco.windows.filesystem<EOL>return jaraco.windows.filesystem.symlink(target_path, link_path)<EOL>from ._easyfs_win32 import CreateSymbolicLink<EOL>try:<EOL><INDENT>dw_flags = <NUM_LIT:0><EOL>if target_path and os.path.isdir(target_path):<EOL><INDENT>dw_flags = <NUM_LIT:1><EOL><DEDENT>return CreateSymbolicLink(target_path, link_path, dw_flags)<EOL><DEDENT>except Exception as e:<EOL><INDENT>reraise(e, '<STR_LIT>' % locals())<EOL><DEDENT><DEDENT>
Create a symbolic link at `link_path` pointing to `target_path`.

:param unicode target_path:
    Link target

:param unicode link_path:
    Fullpath to link name

:param bool override:
    If True and `link_path` already exists as a link, that link is overridden.