diff --git a/platformio/dependencies.py b/platformio/dependencies.py index 7f8fc7cf..331c1bdb 100644 --- a/platformio/dependencies.py +++ b/platformio/dependencies.py @@ -14,7 +14,7 @@ import platform -from platformio.compat import PY36, is_proxy_set +from platformio.compat import is_proxy_set def get_core_dependencies(): @@ -30,7 +30,8 @@ def get_core_dependencies(): def get_pip_dependencies(): core = [ - "bottle == %s" % ("0.12.*" if PY36 else "0.13.*"), + 'bottle == 0.12.*; python_version < "3.7"', + 'bottle == 0.13.*; python_version >= "3.7"', "click >=8.0.4, <9", "colorama", "marshmallow == 3.*", @@ -45,7 +46,8 @@ def get_pip_dependencies(): # PIO Home requirements "ajsonrpc == 1.2.*", "starlette >=0.19, <0.40", - "uvicorn %s" % ("== 0.16.0" if PY36 else ">=0.16, <0.31"), + 'uvicorn == 0.16.0; python_version < "3.7"', + 'uvicorn >=0.16, <0.31; python_version >= "3.7"', "wsproto == 1.*", ] @@ -53,7 +55,9 @@ def get_pip_dependencies(): # issue #4702; Broken "requests/charset_normalizer" on macOS ARM if platform.system() == "Darwin" and "arm" in platform.machine().lower(): - extra.append("chardet>=3.0.2,<6") + extra.append( + 'chardet >= 3.0.2,<6; platform_system == "Darwin" and "arm" in platform_machine' + ) # issue 4614: urllib3 v2.0 only supports OpenSSL 1.1.1+ try: