code: def egg_link_path(dist):
      # type: (Distribution) -> Optional[str]
      
      sites = []
      if running_under_virtualenv():
          if virtualenv_no_global():
              sites.append(site_packages)
          else:
              sites.append(site_packages)
              if user_site:
                  sites.append(user_site)
      else:
          if user_site:
              sites.append(user_site)
          sites.append(site_packages)
  
      for site in sites:
          egglink = os.path.join(site, dist.project_name) + '.egg-link'
          if os.path.isfile(egglink):
              return egglink
      return None
docs: Return the path for the .egg-link file if it exists, otherwise, None.
  
      There's 3 scenarios:
      1) not in a virtualenv
         try to find in site.USER_SITE, then site_packages
      2) in a no-global virtualenv
         try to find in site_packages
      3) in a yes-global virtualenv
         try to find in site_packages, then site.USER_SITE
         (don't look in global location)
  
      For #1 and #3, there could be odd cases, where there's an egg-link in 2
      locations.
  
      This method will just return the first one found.