title: Why is the argument used with pip install sometimes different to the argument used by import?
body: <p>For many python libraries, the argument used with <code>import</code> is the same as the one used to install the library with pip.</p>
  <p>E.g.</p>
  <pre class="lang-sh prettyprint-override"><code>pip install numpy
  pip install scipy
  pip install pandas
  </code></pre>
  <p>correspond to</p>
  <pre class="lang-py prettyprint-override"><code>import numpy
  import scipy
  import pandas
  </code></pre>
  <p>but this pattern doesn't seem to work for all libraries. E.g. (found <a href="https://stackoverflow.com/a/41326447/5783745">here</a>):</p>
  <pre class="lang-sh prettyprint-override"><code>pip install Pillow
  </code></pre>
  <p>is required to get this to succeed</p>
  <pre class="lang-py prettyprint-override"><code>import PIL
  </code></pre>
  <p>Based on the pattern in the first examples, I would have expected <code>pip install PIL</code> to install <code>PIL</code>, but instead we use <code>pip install Pillow</code>. Why is this and how does this work?</p>