title: Why does pip skip bracket package in requirements.txt?
body: <p>I have a requirements.txt as follows</p>
  
  <pre><code>boxsdk
  boxsdk[jwt]
  </code></pre>
  
  <p>If I run <code>pip install -r requirements.txt</code>, then only <code>boxsdk</code> gets installed, and not <code>boxsdk[jwt]</code></p>
  
  <pre><code># cat requirements.txt 
  boxsdk
  boxsdk[jwt]
  # pip -q install -r requirements.txt 
  # python -c "import boxsdk.auth.jwt_auth"
  Traceback (most recent call last):
    File "&lt;string&gt;", line 1, in &lt;module&gt;
    File "/usr/local/lib/python3.7/site-packages/boxsdk/auth/jwt_auth.py", line 10, in &lt;module&gt;
      from cryptography.hazmat.backends import default_backend
  ModuleNotFoundError: No module named 'cryptography'
  </code></pre>
  
  <p>But if I remove the first line so that only <code>boxsdk[jwt]</code> is listed in <code>requirements.txt</code>, it gets installed properly</p>
  
  <pre><code># cat requirements.txt 
  boxsdk[jwt]
  # pip -q install -r requirements.txt 
  # python -c "import boxsdk.auth.jwt_auth"
  #
  </code></pre>
  
  <p>Full pip output can be seen here: <a href="https://gist.github.com/davidkazuhiro/989328734e128628dd53ccab741f3e45" rel="noreferrer">https://gist.github.com/davidkazuhiro/989328734e128628dd53ccab741f3e45</a></p>
  
  <p>Why is <code>boxsdk[jwt]</code> getting skipped in the former case?</p>