summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnderson Bravalheri <andersonbravalheri@gmail.com>2023-01-23 22:54:25 +0000
committerAnderson Bravalheri <andersonbravalheri@gmail.com>2023-01-23 22:54:25 +0000
commit6f93ec71d5909195eb73b88fca52a546eafec78f (patch)
treeb589d51bc3828b83555f8f1ae07681553db372c1
parentf8f56bceb9491f7fe56e2b8dcbb39a0088229dc8 (diff)
downloadpython-setuptools-git-6f93ec71d5909195eb73b88fca52a546eafec78f.tar.gz
Prefer packaging instead of pkg_resources in dist.py for markers
-rw-r--r--setuptools/dist.py14
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: