diff options
| author | Anderson Bravalheri <andersonbravalheri@gmail.com> | 2023-01-23 22:54:25 +0000 |
|---|---|---|
| committer | Anderson Bravalheri <andersonbravalheri@gmail.com> | 2023-01-23 22:54:25 +0000 |
| commit | 6f93ec71d5909195eb73b88fca52a546eafec78f (patch) | |
| tree | b589d51bc3828b83555f8f1ae07681553db372c1 | |
| parent | f8f56bceb9491f7fe56e2b8dcbb39a0088229dc8 (diff) | |
| download | python-setuptools-git-6f93ec71d5909195eb73b88fca52a546eafec78f.tar.gz | |
Prefer packaging instead of pkg_resources in dist.py for markers
| -rw-r--r-- | setuptools/dist.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/setuptools/dist.py b/setuptools/dist.py index 735d1b9f..f6504855 100644 --- a/setuptools/dist.py +++ b/setuptools/dist.py @@ -300,11 +300,21 @@ def check_extras(dist, attr, value): def _check_extra(extra, reqs): name, sep, marker = extra.partition(':') - if marker and pkg_resources.invalid_marker(marker): - raise DistutilsSetupError("Invalid environment marker: " + marker) + try: + _check_marker(marker) + except packaging.markers.InvalidMarker: + msg = f"Invalid environment marker: {marker} ({extra!r})" + raise DistutilsSetupError(msg) from None list(_reqs.parse(reqs)) +def _check_marker(marker): + if not marker: + return + m = packaging.markers.Marker(marker) + m.evaluate() + + def assert_bool(dist, attr, value): """Verify that value is True, False, 0, or 1""" if bool(value) != value: |
