TL;dr, I think somehow the wheel is just not caching itself the way it’s supposed to outside of the venv; inside the venv, it works fine
- Nope, same issue.
Result of installing python3.8 -m pip install -v -U -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04 wxPython==4.1.0
below - I’ve cleaned out a lot of the “skipping link” lines. It claims to install fine.
ubuntu@ip-10-0-3-18:~$ python3.8 -m pip install -v -U -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04 wxPython==4.1.0
Collecting wxPython==4.1.0
2 location(s) to search for versions of wxPython:
* https://pypi.python.org/simple/wxpython/
* https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04
Skipping link https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04 (from -f); unsupported archive format: .04
Getting page https://pypi.python.org/simple/wxpython/
Looking up "https://pypi.python.org/simple/wxpython/" in the cache
Returning cached "301 Moved Permanently" response (ignoring date and etag information)
Looking up "https://pypi.org/simple/wxpython/" in the cache
Current age based on date: 117
Freshness lifetime from max-age: 600
Freshness lifetime from request max-age: 600
The response is "fresh", returning cached response
600 > 117
Analyzing links from page https://pypi.org/simple/wxpython/
Found link https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04/wxPython-4.1.0-cp38-cp38-linux_x86_64.whl (from https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04/), version: 4.1.0
Skipping link https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04/wxPython-4.1.0-cp38-cp38-linux_x86_64.whl.asc (from https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04/); unsupported archive format: .asc
Using version 4.1.0 (newest of versions: 4.1.0)
Looking up "https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04/wxPython-4.1.0-cp38-cp38-linux_x86_64.whl" in the cache
Current age based on date: 118
Incremented Retry for (url='/wxPython4/extras/linux/gtk3/ubuntu-18.04/wxPython-4.1.0-cp38-cp38-linux_x86_64.whl'): Retry(total=4, connect=None, read=None, redirect=None, status=None)
Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))': /wxPython4/extras/linux/gtk3/ubuntu-18.04/wxPython-4.1.0-cp38-cp38-linux_x86_64.whl
Starting new HTTPS connection (2): extras.wxpython.org
https://extras.wxpython.org:443 "GET /wxPython4/extras/linux/gtk3/ubuntu-18.04/wxPython-4.1.0-cp38-cp38-linux_x86_64.whl HTTP/1.1" 304 0
Using cached https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04/wxPython-4.1.0-cp38-cp38-linux_x86_64.whl
Downloading from URL https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04/wxPython-4.1.0-cp38-cp38-linux_x86_64.whl (from https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04/)
Collecting six (from wxPython==4.1.0)
2 location(s) to search for versions of six:
* https://pypi.python.org/simple/six/
* https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04
Getting page https://pypi.python.org/simple/six/
Looking up "https://pypi.python.org/simple/six/" in the cache
Returning cached "301 Moved Permanently" response (ignoring date and etag information)
Looking up "https://pypi.org/simple/six/" in the cache
Current age based on date: 111
Freshness lifetime from max-age: 600
Freshness lifetime from request max-age: 600
The response is "fresh", returning cached response
600 > 111
Analyzing links from page https://pypi.org/simple/six/
Getting page https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04
Looking up "https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04" in the cache
Returning cached "301 Moved Permanently" response (ignoring date and etag information)
Looking up "https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04/" in the cache
No cache entry available
Resetting dropped connection: extras.wxpython.org
https://extras.wxpython.org:443 "GET /wxPython4/extras/linux/gtk3/ubuntu-18.04/ HTTP/1.1" 200 1208
Updating cache with response from "https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04/"
Analyzing links from page https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04/
Skipping link https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04/wxPython-4.1.0-cp38-cp38-linux_x86_64.whl (from https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04/); wrong project name (not six)
Using version 1.15.0 (newest of versions: 0.9.0, 0.9.1, 0.9.2, 1.0.0, 1.1.0, 1.2.0, 1.3.0, 1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.6.1, 1.7.0, 1.7.1, 1.7.2, 1.7.3, 1.8.0, 1.9.0, 1.10.0, 1.11.0, 1.12.0, 1.13.0, 1.14.0, 1.15.0)
Looking up "https://files.pythonhosted.org/packages/ee/ff/48bde5c0f013094d729fe4b0316ba2a24774b3ff1c52d924a8a4cb04078a/six-1.15.0-py2.py3-none-any.whl" in the cache
Current age based on date: 242228
Freshness lifetime from max-age: 365000000
The response is "fresh", returning cached response
365000000 > 242228
Using cached https://files.pythonhosted.org/packages/ee/ff/48bde5c0f013094d729fe4b0316ba2a24774b3ff1c52d924a8a4cb04078a/six-1.15.0-py2.py3-none-any.whl
Downloading from URL https://files.pythonhosted.org/packages/ee/ff/48bde5c0f013094d729fe4b0316ba2a24774b3ff1c52d924a8a4cb04078a/six-1.15.0-py2.py3-none-any.whl#sha256=8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced (from https://pypi.org/simple/six/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*)
Collecting numpy; python_version >= "3.0" (from wxPython==4.1.0)
2 location(s) to search for versions of numpy:
* https://pypi.python.org/simple/numpy/
* https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04
Getting page https://pypi.python.org/simple/numpy/
Looking up "https://pypi.python.org/simple/numpy/" in the cache
Returning cached "301 Moved Permanently" response (ignoring date and etag information)
Looking up "https://pypi.org/simple/numpy/" in the cache
Current age based on date: 110
Freshness lifetime from max-age: 600
Freshness lifetime from request max-age: 600
The response is "fresh", returning cached response
600 > 110
Analyzing links from page https://pypi.org/simple/numpy/
Found link https://files.pythonhosted.org/packages/bf/e8/15aea783ea72e2d4e51e3ec365e8dc4a1a32c9e5eb3a6d695b0d58e67cdd/numpy-1.19.2.zip#sha256=0d310730e1e793527065ad7dde736197b705d0e4c9999775f212b03c44a8484c (from https://pypi.org/simple/numpy/) (requires-python:>=3.6), version: 1.19.2
Getting page https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04
Looking up "https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04" in the cache
Returning cached "301 Moved Permanently" response (ignoring date and etag information)
Looking up "https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04/" in the cache
No cache entry available
https://extras.wxpython.org:443 "GET /wxPython4/extras/linux/gtk3/ubuntu-18.04/ HTTP/1.1" 200 1208
Updating cache with response from "https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04/"
Analyzing links from page https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04/
Using version 1.19.2 (newest of versions: 1.3.0, 1.4.1, 1.5.0, 1.5.1, 1.6.0, 1.6.1, 1.6.2, 1.7.0, 1.7.1, 1.7.2, 1.8.0, 1.8.1, 1.8.2, 1.9.0, 1.9.1, 1.9.2, 1.9.3, 1.10.0.post2, 1.10.1, 1.10.2, 1.10.4, 1.11.0, 1.11.1, 1.11.2, 1.11.3, 1.12.0, 1.12.1, 1.13.0, 1.13.1, 1.13.3, 1.14.0, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.14.5, 1.14.6, 1.15.0, 1.15.1, 1.15.2, 1.15.3, 1.15.4, 1.16.0, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.16.6, 1.17.0, 1.17.1, 1.17.2, 1.17.3, 1.17.4, 1.17.5, 1.18.0, 1.18.1, 1.18.2, 1.18.3, 1.18.4, 1.18.5, 1.19.0, 1.19.1, 1.19.2)
Looking up "https://files.pythonhosted.org/packages/41/6e/919522a6e1d067ddb5959c5716a659a05719e2f27487695d2a539b51d66e/numpy-1.19.2-cp38-cp38-manylinux1_x86_64.whl" in the cache
Current age based on date: 242231
Freshness lifetime from max-age: 365000000
The response is "fresh", returning cached response
365000000 > 242231
Using cached https://files.pythonhosted.org/packages/41/6e/919522a6e1d067ddb5959c5716a659a05719e2f27487695d2a539b51d66e/numpy-1.19.2-cp38-cp38-manylinux1_x86_64.whl
Downloading from URL https://files.pythonhosted.org/packages/41/6e/919522a6e1d067ddb5959c5716a659a05719e2f27487695d2a539b51d66e/numpy-1.19.2-cp38-cp38-manylinux1_x86_64.whl#sha256=cebd4f4e64cfe87f2039e4725781f6326a61f095bc77b3716502bed812b385a9 (from https://pypi.org/simple/numpy/) (requires-python:>=3.6)
Collecting pillow (from wxPython==4.1.0)
2 location(s) to search for versions of pillow:
* https://pypi.python.org/simple/pillow/
* https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04
Getting page https://pypi.python.org/simple/pillow/
Looking up "https://pypi.python.org/simple/pillow/" in the cache
Returning cached "301 Moved Permanently" response (ignoring date and etag information)
Looking up "https://pypi.org/simple/pillow/" in the cache
Current age based on date: 112
Freshness lifetime from max-age: 600
Freshness lifetime from request max-age: 600
The response is "fresh", returning cached response
600 > 112
Analyzing links from page https://pypi.org/simple/pillow/
Found link https://files.pythonhosted.org/packages/3e/02/b09732ca4b14405ff159c470a612979acfc6e8645dc32f83ea0129709f7a/Pillow-7.2.0.tar.gz#sha256=97f9e7953a77d5a70f49b9a48da7776dc51e9b738151b22dacf101641594a626 (from https://pypi.org/simple/pillow/) (requires-python:>=3.5), version: 7.2.0
Getting page https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04
Looking up "https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04" in the cache
Returning cached "301 Moved Permanently" response (ignoring date and etag information)
Looking up "https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04/" in the cache
No cache entry available
https://extras.wxpython.org:443 "GET /wxPython4/extras/linux/gtk3/ubuntu-18.04/ HTTP/1.1" 200 1208
Updating cache with response from "https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04/"
Analyzing links from page https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04/
Using version 7.2.0 (newest of versions: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7.0, 1.7.1, 1.7.2, 1.7.3, 1.7.4, 1.7.5, 1.7.6, 1.7.7, 1.7.8, 2.0.0, 2.1.0, 2.2.0, 2.2.1, 2.2.2, 2.3.0, 2.3.1, 2.3.2, 2.4.0, 2.5.0, 2.5.1, 2.5.2, 2.5.3, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.8.0, 2.8.1, 2.8.2, 2.9.0, 3.0.0, 3.1.0, 3.1.1, 3.1.2, 3.2.0, 3.3.0, 3.3.1, 3.3.2, 3.3.3, 3.4.0, 3.4.1, 3.4.2, 4.0.0, 4.1.0, 4.1.1, 4.2.0, 4.2.1, 4.3.0, 5.0.0, 5.1.0, 5.2.0, 5.3.0, 5.4.0, 5.4.1, 6.0.0, 6.1.0, 6.2.0, 6.2.1, 6.2.2, 7.0.0, 7.1.0, 7.1.1, 7.1.2, 7.2.0)
Looking up "https://files.pythonhosted.org/packages/aa/12/a5e5e1b9bcd6c16eb4833069e6d586dc2b8ebbd3141a369cb1bdb9e4cc04/Pillow-7.2.0-cp38-cp38-manylinux1_x86_64.whl" in the cache
Current age based on date: 242230
Freshness lifetime from max-age: 365000000
The response is "fresh", returning cached response
365000000 > 242230
Using cached https://files.pythonhosted.org/packages/aa/12/a5e5e1b9bcd6c16eb4833069e6d586dc2b8ebbd3141a369cb1bdb9e4cc04/Pillow-7.2.0-cp38-cp38-manylinux1_x86_64.whl
Downloading from URL https://files.pythonhosted.org/packages/aa/12/a5e5e1b9bcd6c16eb4833069e6d586dc2b8ebbd3141a369cb1bdb9e4cc04/Pillow-7.2.0-cp38-cp38-manylinux1_x86_64.whl#sha256=d08b23fdb388c0715990cbc06866db554e1822c4bdcf6d4166cf30ac82df8c41 (from https://pypi.org/simple/pillow/) (requires-python:>=3.5)
Installing collected packages: six, numpy, pillow, wxPython
changing mode of /home/ubuntu/.local/bin/f2py to 775
changing mode of /home/ubuntu/.local/bin/f2py3 to 775
changing mode of /home/ubuntu/.local/bin/f2py3.8 to 775
changing mode of /home/ubuntu/.local/bin/helpviewer to 775
changing mode of /home/ubuntu/.local/bin/img2png to 775
changing mode of /home/ubuntu/.local/bin/img2py to 775
changing mode of /home/ubuntu/.local/bin/img2xpm to 775
changing mode of /home/ubuntu/.local/bin/pycrust to 775
changing mode of /home/ubuntu/.local/bin/pyshell to 775
changing mode of /home/ubuntu/.local/bin/pyslices to 775
changing mode of /home/ubuntu/.local/bin/pyslicesshell to 775
changing mode of /home/ubuntu/.local/bin/pywxrc to 775
changing mode of /home/ubuntu/.local/bin/wxdemo to 775
changing mode of /home/ubuntu/.local/bin/wxdocs to 775
changing mode of /home/ubuntu/.local/bin/wxget to 775
Successfully installed numpy-1.19.2 pillow-7.2.0 six-1.15.0 wxPython-4.1.0
Cleaning up...
It claims it has installed fine
python3.8 -m pip freeze |grep wx
wxPython==4.1.0
But if I then try again
python3.8 -m pip install -v wxPython==4.1.0
it doesn’t just say “whoops, don’t need that, already have it”, it tries to build it again from the
To try to extra-enforce it uses the wheel, I cleared my pip cache
ubuntu@ip-10-0-3-18:~$ rm -rf ~/.cache/pip/wheels
ubuntu@ip-10-0-3-18:~$ rm -rf ~/.cache/pip/http
pip installed directly from the wheel
python3.8 -m pip install -U -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04 wxPython==4.1.0
Collecting wxPython==4.1.0
Downloading https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04/wxPython-4.1.0-cp38-cp38-linux_x86_64.whl (133.2MB)
100% |████████████████████████████████| 133.2MB 10kB/s
Collecting pillow (from wxPython==4.1.0)
Downloading https://files.pythonhosted.org/packages/aa/12/a5e5e1b9bcd6c16eb4833069e6d586dc2b8ebbd3141a369cb1bdb9e4cc04/Pillow-7.2.0-cp38-cp38-manylinux1_x86_64.whl (2.2MB)
100% |████████████████████████████████| 2.2MB 674kB/s
Collecting numpy; python_version >= "3.0" (from wxPython==4.1.0)
Downloading https://files.pythonhosted.org/packages/41/6e/919522a6e1d067ddb5959c5716a659a05719e2f27487695d2a539b51d66e/numpy-1.19.2-cp38-cp38-manylinux1_x86_64.whl (13.3MB)
100% |████████████████████████████████| 13.4MB 107kB/s
Collecting six (from wxPython==4.1.0)
Downloading https://files.pythonhosted.org/packages/ee/ff/48bde5c0f013094d729fe4b0316ba2a24774b3ff1c52d924a8a4cb04078a/six-1.15.0-py2.py3-none-any.whl
Installing collected packages: pillow, numpy, six, wxPython
Successfully installed numpy-1.19.2 pillow-7.2.0 six-1.15.0 wxPython-4.1.0
Confirm that for numpy, the wheel is now in the cache and can be used to build
python3.8 -m pip install numpy==1.19.2
Collecting numpy==1.19.2
Using cached https://files.pythonhosted.org/packages/41/6e/919522a6e1d067ddb5959c5716a659a05719e2f27487695d2a539b51d66e/numpy-1.19.2-cp38-cp38-manylinux1_x86_64.whl
Installing collected packages: numpy
^COperation cancelled by user
But if I try the same thing for wx, it goes for the source to try to rebuild from scratch.
python3.8 -m pip install wxPython==4.1.0
Collecting wxPython==4.1.0
Downloading https://files.pythonhosted.org/packages/cb/4f/1e21d3c079c973ba862a18f3be73c2bbe2e6bc25c96d94df605b5cbb494d/wxPython-4.1.0.tar.gz (65.8MB)
99% |████████████████████████████████| 65.8MB 72.6MB/s eta 0:00:01^C
Operation cancelled by user
- This works!
ubuntu@ip-10-0-3-18:~$ python3.8 -m venv test38
ubuntu@ip-10-0-3-18:~$ source test38/bin/activate
(test38) ubuntu@ip-10-0-3-18:~$ python3.8 -m pip freeze
pkg-resources==0.0.0
(test38) ubuntu@ip-10-0-3-18:~$ python3.8 -m pip install -U \
> -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04 \
> wxPython==4.1.0
Collecting wxPython==4.1.0
Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))': /wxPython4/extras/linux/gtk3/ubuntu-18.04/wxPython-4.1.0-cp38-cp38-linux_x86_64.whl
Using cached https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04/wxPython-4.1.0-cp38-cp38-linux_x86_64.whl
Collecting six (from wxPython==4.1.0)
Using cached https://files.pythonhosted.org/packages/ee/ff/48bde5c0f013094d729fe4b0316ba2a24774b3ff1c52d924a8a4cb04078a/six-1.15.0-py2.py3-none-any.whl
Collecting numpy; python_version >= "3.0" (from wxPython==4.1.0)
Using cached https://files.pythonhosted.org/packages/41/6e/919522a6e1d067ddb5959c5716a659a05719e2f27487695d2a539b51d66e/numpy-1.19.2-cp38-cp38-manylinux1_x86_64.whl
Collecting pillow (from wxPython==4.1.0)
Using cached https://files.pythonhosted.org/packages/aa/12/a5e5e1b9bcd6c16eb4833069e6d586dc2b8ebbd3141a369cb1bdb9e4cc04/Pillow-7.2.0-cp38-cp38-manylinux1_x86_64.whl
Installing collected packages: six, numpy, pillow, wxPython
Successfully installed numpy-1.19.2 pillow-7.2.0 six-1.15.0 wxPython-4.1.0
(test38) ubuntu@ip-10-0-3-18:~$ python3.8 -m pip install cellprofiler
Collecting cellprofiler
Using cached https://files.pythonhosted.org/packages/e5/c9/86a9e4e8fa010d0e42402c0ccc75d5967016881d47dd3312ed3295edf34a/CellProfiler-4.0.3-py3-none-any.whl
Collecting prokaryote==2.4.2 (from cellprofiler)
Downloading https://files.pythonhosted.org/packages/c0/e2/a7579adf6e854040529ff65fa350a34eeb8598f1e5b26bb1635ebc7dabdd/prokaryote-2.4.2.tar.gz (54.8MB)
100% |████████████████████████████████| 54.8MB 22kB/s
Collecting scipy>=1.4.1 (from cellprofiler)
Downloading https://files.pythonhosted.org/packages/8f/be/8625045311a3ed58af5f7ca8a51f20b1bbf72e288d34b48cc81cca550166/scipy-1.5.2-cp38-cp38-manylinux1_x86_64.whl (25.7MB)
100% |████████████████████████████████| 25.7MB 52kB/s
Requirement already satisfied: numpy>=1.18.2 in ./test38/lib/python3.8/site-packages (from cellprofiler)
Collecting mahotas>=1.4 (from cellprofiler)
Downloading https://files.pythonhosted.org/packages/d9/b5/a601f54b670bf84cb2dca24ca56be2fc7bd8d86a3eb678579956c922981e/mahotas-1.4.11.tar.gz (1.5MB)
100% |████████████████████████████████| 1.5MB 958kB/s
Collecting joblib>=0.13 (from cellprofiler)
Downloading https://files.pythonhosted.org/packages/51/dd/0e015051b4a27ec5a58b02ab774059f3289a94b0906f880a3f9507e74f38/joblib-0.16.0-py3-none-any.whl (300kB)
100% |████████████████████████████████| 307kB 4.7MB/s
Requirement already satisfied: wxPython>=4.1.0 in ./test38/lib/python3.8/site-packages (from cellprofiler)
Collecting sentry-sdk>=0.16.0 (from cellprofiler)