gjoseph92 / stackstac

Turn a STAC catalog into a dask-based xarray
https://stackstac.readthedocs.io
MIT License
238 stars 49 forks source link

Pip is willing to install stackstac with incompatible Python interpreter versions #140

Closed gjoseph92 closed 2 years ago

gjoseph92 commented 2 years ago

In https://github.com/gjoseph92/stackstac/issues/139 and https://github.com/gjoseph92/stackstac/issues/58, users managed to install stackstac in a Python 3.7 environment. I opened a 3.7 environment, and it turns out you can: it just installs the very old original versions, which needed 3.8, but mistakenly didn't say so.

gabe ~ » python --version
Python 3.7.10

gabe ~ » python -m pip install --no-deps stackstac==0.3.1
ERROR: Could not find a version that satisfies the requirement stackstac==0.3.1 (from versions: 0.1.0, 0.1.1)
ERROR: No matching distribution found for stackstac==0.3.1

gabe ~ » python -m pip install --no-deps stackstac
Collecting stackstac
  Using cached stackstac-0.1.1-py3-none-any.whl (33 kB)
Installing collected packages: stackstac
Successfully installed stackstac-0.1.1

I think we should yank all releases from pypi prior to https://github.com/gjoseph92/stackstac/pull/32, so users don't run into this anymore.

gjoseph92 commented 2 years ago

I've yanked 0.1.0 and 0.1.1 from PyPi. However, older versions of pip will still install yanked releases if they can't find regular releases compatible with the platform.

pip >= 22.0 fixes this: https://github.com/pypa/pip/pull/10625. Of course, 3.7 users are also likely to be using an older version of pip... but I've done the best we can do I think.

gabe ~ » python -m pip install --no-deps stackstac
WARNING: The candidate selected for download or install is a yanked version: 'stackstac' candidate (version 0.1.1 at https://files.pythonhosted.org/packages/c9/9c/ecd51d8719a9047f713ea6f4ec66288fbe1774d640c7fba8047c0347a294/stackstac-0.1.1-py3-none-any.whl#sha256=6c45849c078a81d0ac8f2f916774e8e27c2c6a59ffcb96f9f01926ff99f28396 (from https://pypi.org/simple/stackstac/) (requires-python:>=3.7,<4.0))
Reason for being yanked: Mistakenly supports py3.7. All versions require py3.8 or greater.
Collecting stackstac
  Using cached stackstac-0.1.1-py3-none-any.whl (33 kB)
Installing collected packages: stackstac
Successfully installed stackstac-0.1.1
WARNING: You are using pip version 20.1.1; however, version 22.0.4 is available.

gabe ~ » pip install --upgrade pip
...
gabe ~ » python -m pip install --no-deps stackstac
ERROR: Could not find a version that satisfies the requirement stackstac (from versions: 0.1.0, 0.1.1)
ERROR: No matching distribution found for stackstac