title: What's the difference between --find-links and --index-url pip flags?
body: <p>Reading the <code>pip</code> documentation, it is not clear to me what is the difference between specifying a <code>--find-links</code> URL or an <code>--index-url/--extra-index-url</code> for extra packages.</p>
  
  <p><a href="https://pip.pypa.io/en/stable/reference/pip_install/#options" rel="noreferrer">The documentation states</a>:</p>
  
  <blockquote>
  <pre><code>-i, --index-url &lt;url&gt;
  </code></pre>
    
    <p>Base URL of Python Package Index (default <a href="https://pypi.python.org/simple" rel="noreferrer">https://pypi.python.org/simple</a>). This should point to a repository
    compliant with PEP 503 (the simple repository API) or a local
    directory laid out in the same format.</p>
  
  <pre><code>-f, --find-links &lt;url&gt;
  </code></pre>
    
    <p>If a url or path to an html file, then parse for links to archives. If a local path or file:// url that's a directory, then look
    for archives in the directory listing.</p>
  </blockquote>
  
  <p>As far as I understand, there is no real difference between the two, apart from the fact that index URLs must follow <a href="https://www.python.org/dev/peps/pep-0503/" rel="noreferrer">PEP 503</a>. I guess the usual logic of choosing the latest version among all the available ones is followed.</p>
  
  <p>Are there any other conceptual differences between the two that I missed? If so, which ones? If not, why having both?</p>