From 246a608db0323744e0a97c075041bf17b6f3aa61 Mon Sep 17 00:00:00 2001 From: Angus Gratton Date: Mon, 1 Oct 2018 13:59:14 +1000 Subject: [PATCH] windows: Special check for some MSYS2 Python packages MSYS2 MINGW requires some particular MSYS2-specific packages. Closes https://github.com/espressif/esp-idf/issues/2480 Closes https://github.com/espressif/esp-idf/issues/2474 Closes https://github.com/espressif/esp-idf/issues/2486 --- tools/check_python_dependencies.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tools/check_python_dependencies.py b/tools/check_python_dependencies.py index 4f03d0650..37ba34de3 100755 --- a/tools/check_python_dependencies.py +++ b/tools/check_python_dependencies.py @@ -34,6 +34,27 @@ if __name__ == "__main__": default=idf_path + '/requirements.txt') args = parser.parse_args() + # Special case for MINGW32 Python, needs some packages + # via MSYS2 not via pip or system breaks... + if sys.platform == "win32" and \ + os.environ.get("MSYSTEM", None) == "MINGW32" and \ + "/mingw32/bin/python" in sys.executable: + failed = False + try: + import cryptography + except ImportError: + print("Please run the following command to install MSYS2's MINGW Python cryptography package:") + print("pacman -S mingw-w64-i686-python%d-cryptography" % (sys.version_info[0],)) + failed = True + try: + import setuptools + except ImportError: + print("Please run the following command to install MSYS2's MINGW Python setuptools package:") + print("pacman -S mingw-w64-i686-python%d-setuptools" % (sys.version_info[0],)) + failed = True + if failed: + sys.exit(1) + not_satisfied = [] with open(args.requirements) as f: for line in f: