diff --git a/requirements.txt b/requirements.txt index 3392d79445..ef37868f7c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,7 +8,8 @@ setuptools>=21 # importlib_metadata: is part of python3.8 and newer as importlib.metadata importlib_metadata; python_version < "3.8" packaging -click>=7.0 +click==7.0; python_version == "3.4" +click>=7.0; python_version != "3.4" pyserial>=3.0 future>=0.15.2 cryptography>=2.1.4,<35 @@ -17,6 +18,8 @@ cffi<1.15;python_version<'3.6' pyparsing>=2.0.3,<2.4.0 pyelftools>=0.22 idf-component-manager~=1.0 +packaging<21.0; python_version<"3.6" +urllib3<1.25,>=1.21.1; python_version == "3.4" gdbgui==0.13.2.0; python_version < "3.11" # 0.13.2.1 supports Python 3.6+ only diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index e46f14cb59..ca9c87f067 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -69,6 +69,62 @@ RUN echo IDF_CHECKOUT_REF=$IDF_CHECKOUT_REF IDF_CLONE_BRANCH_OR_TAG=$IDF_CLONE_B # Install all the required tools ARG CRYPTOGRAPHY_DONT_BUILD_RUST=1 + +# Bypass to help pip resolver to install the right tool versions +RUN : \ + && python -m virtualenv /opt/esp/python_env/idf4.3_py3.6_env \ + && /opt/esp/python_env/idf4.3_py3.6_env/bin/python -m pip install \ + Flask==0.12.5 \ + Flask-Compress==1.13 \ + Flask-SocketIO==2.9.6 \ + MarkupSafe==2.0.1 \ + Pygments==2.14.0 \ + Werkzeug==0.16.1 \ + bitstring==3.1.9 \ + brotli==1.0.9 \ + cachecontrol==0.12.14 \ + certifi==2023.5.7 \ + cffi==1.15.1 \ + charset-normalizer==2.0.12 \ + click==8.0.4 \ + colorama==0.4.5 \ + construct==2.10.54 \ + contextlib2==21.6.0 \ + cryptography==3.4.8 \ + ecdsa==0.18.0 \ + future==0.18.3 \ + gdbgui==0.13.2.0 \ + gevent==1.5.0 \ + greenlet==2.0.2 \ + idf-component-manager==1.2.3 \ + idna==3.4 \ + importlib-metadata==4.8.3 \ + importlib-resources==5.4.0 \ + itsdangerous==2.0.1 \ + jinja2==3.0.3 \ + kconfiglib==13.7.1 \ + lockfile==0.12.2 \ + msgpack==1.0.5 \ + packaging==21.3 \ + pycparser==2.21 \ + pyelftools==0.29 \ + pygdbmi==0.9.0.2 \ + pyparsing==2.3.1 \ + pyserial==3.5 \ + python-engineio==3.14.2 \ + python-socketio==4.6.1 \ + pyyaml==6.0 \ + reedsolo==1.5.4 \ + requests==2.27.1 \ + requests-file==1.5.1 \ + requests-toolbelt==1.0.0 \ + schema==0.7.5 \ + six==1.16.0 \ + tqdm==4.64.1 \ + typing-extensions==4.1.1 \ + urllib3==1.26.16 \ + zipp==3.6.0 + RUN : \ && update-ca-certificates --fresh \ && $IDF_PATH/tools/idf_tools.py --non-interactive install required --targets=${IDF_INSTALL_TARGETS} \