7

Pip install of urllib3 is hanging on "Caching due to etag". I'm building an AWS chalice project that doesn't let you specify --no-cache-dir, so I need to fix the issue without that command. Any ideas?

Using Python 3.6.5 and Pip 10.0.1 in a virtual environment.

(partnerdb-virtualenv) C:\Windows\SysWOW64\partnerdb-project>pip install urllib3 -vvv
Config variable 'Py_DEBUG' is unset, Python ABI tag may be incorrect
Config variable 'WITH_PYMALLOC' is unset, Python ABI tag may be incorrect
Created temporary directory: C:\Users\Matt\AppData\Local\Temp\pip-ephem-wheel-cache-v0e8ikpl
Created temporary directory: C:\Users\Matt\AppData\Local\Temp\pip-req-tracker-d58lw_h5
Created requirements tracker 'C:\\Users\\Matt\\AppData\\Local\\Temp\\pip-req-tracker-d58lw_h5'
Created temporary directory: C:\Users\Matt\AppData\Local\Temp\pip-install-6qpv92ms
Collecting urllib3
  1 location(s) to search for versions of urllib3:
  * https://pypi.org/simple/urllib3/
  Getting page https://pypi.org/simple/urllib3/
  Looking up "https://pypi.org/simple/urllib3/" in the cache
  Request header has "max_age" as 0, cache bypassed
  Starting new HTTPS connection (1): pypi.org:443
  https://pypi.org:443 "GET /simple/urllib3/ HTTP/1.1" 200 6330
  Updating cache with response from "https://pypi.org/simple/urllib3/"
  Caching due to etag

Edit: Based on one of the comments, curl -vvv https://files/pythonhosted.org/ returns:

*   Trying 2a04:4e42:2d::319...
* TCP_NODELAY set
* Connected to files.pythonhosted.org (2a04:4e42:2d::319) port 443 (#0)
* schannel: SSL/TLS connection with files.pythonhosted.org port 443 (step 1/3)
* schannel: checking server certificate revocation
* schannel: sending initial handshake data: sending 187 bytes...
* schannel: sent initial handshake data: sent 187 bytes
* schannel: SSL/TLS connection with files.pythonhosted.org port 443 (step 2/3)
* schannel: failed to receive handshake, need more data
* schannel: SSL/TLS connection with files.pythonhosted.org port 443 (step 2/3)
* schannel: encrypted data got 4096
* schannel: encrypted data buffer: offset 4096 length 4096
* schannel: encrypted data length: 4018
* schannel: encrypted data buffer: offset 4018 length 4096
* schannel: received incomplete message, need more data
* schannel: SSL/TLS connection with files.pythonhosted.org port 443 (step 2/3)
* schannel: encrypted data got 1024
* schannel: encrypted data buffer: offset 5042 length 5042
* schannel: encrypted data length: 815
* schannel: encrypted data buffer: offset 815 length 5042
* schannel: received incomplete message, need more data
* schannel: SSL/TLS connection with files.pythonhosted.org port 443 (step 2/3)
* schannel: encrypted data got 1051
* schannel: encrypted data buffer: offset 1866 length 5042
* schannel: sending next handshake data: sending 93 bytes...
* schannel: SSL/TLS connection with files.pythonhosted.org port 443 (step 2/3)
* schannel: encrypted data got 258
* schannel: encrypted data buffer: offset 258 length 5042
* schannel: SSL/TLS handshake complete
* schannel: SSL/TLS connection with files.pythonhosted.org port 443 (step 3/3)
* schannel: stored credential handle in session cache
> GET / HTTP/1.1
> Host: files.pythonhosted.org
> User-Agent: curl/7.55.1
> Accept: */*
>
* schannel: client wants to read 102400 bytes
* schannel: encdata_buffer resized 103424
* schannel: encrypted data buffer: offset 0 length 103424
* schannel: encrypted data got 2412
* schannel: encrypted data buffer: offset 2412 length 103424
* schannel: decrypted data length: 2383
* schannel: decrypted data added: 2383
* schannel: decrypted data cached: offset 2383 length 102400
* schannel: encrypted data buffer: offset 0 length 103424
* schannel: decrypted data buffer: offset 2383 length 102400
* schannel: schannel_recv cleanup
* schannel: decrypted data returned 2383
* schannel: decrypted data buffer: offset 0 length 102400
< HTTP/1.1 200 OK
< Content-Type: text/html
< Server: nginx/1.13.9
< Content-Length: 1822
< Accept-Ranges: bytes
< Date: Thu, 18 Oct 2018 18:18:01 GMT
< Age: 0
< Connection: keep-alive
< X-Served-By: cache-iad2138-IAD, cache-pao17439-PAO
< X-Cache: HIT, MISS
< X-Cache-Hits: 1, 0
< X-Timer: S1539886682.749014,VS0,VE70
< Vary: Accept-Encoding
< Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
< X-Frame-Options: deny
< X-XSS-Protection: 1; mode=block
< X-Content-Type-Options: nosniff
< X-Permitted-Cross-Domain-Policies: none
< X-Robots-Header: noindex
<
<html> ... </html>
* Connection #0 to host files.pythonhosted.org left intact
mbrz_0101
  • 85
  • 7
  • Looks like your ISP has blocked `files.pythonhosted.org`. What does `curl -vvv https://files.pythonhosted.org/` return? – hoefling Oct 18 '18 at 12:19
  • @hoefling Please see my edit above, it was too long for a comment. – mbrz_0101 Oct 18 '18 at 18:22
  • @hoefling, why would you think the OP's ISP would block pythonhosted.org? that is the most insane thing i've heard! Use pip's `--no-cache-dir` flag. – Jamie Lindsey Nov 08 '18 at 03:38
  • @jack-herer and your comment is the most rude and ignorant thing I've read here. Lower your tone. – hoefling Nov 08 '18 at 07:38
  • @hoefling, my question about why you think an ISP would block that site is a serious, genuine question as that is not a site any ISP would block! And I think your confused as to what ignorant means, I'm not ignoring anything I'm simply questioning your comment!! Maybe you are the one who needs to calm down? – Jamie Lindsey Nov 08 '18 at 11:46
  • The OP problem is NOT unique to URLLIB3. The title is too narrow. I had exactly the same problem trying to `pip install fabric==1.14.1` – Steven the Easily Amused Aug 31 '19 at 21:51

2 Answers2

11

A long and late shot but worth trying:

I had a similar issue with cache for one package only. Using --no-cache-dir everything worked fine but this was not a solution.

I found this answer, and deleted the whole pip cache, bang!

From the docs:

The default location for the cache directory depends on the Operating System:

Unix

~/.cache/pip and it respects the XDG_CACHE_HOME directory.

macOS

~/Library/Caches/pip.

Windows

<CSIDL_LOCAL_APPDATA>\pip\Cache

raratiru
  • 8,748
  • 4
  • 73
  • 113
0

Use pip's --no-cache-dir flag to avoid this error.

Jamie Lindsey
  • 928
  • 14
  • 26