@@ -1115,10 +1115,10 @@ def _get_installed_pip_packages(python_exe_path):
11151115 # https://github.com/platformio/platform-espressif32/issues/635
11161116 "cryptography" : "~=41.0.1" if IDF5 else ">=2.1.4,<35.0.0" ,
11171117 "future" : ">=0.18.3" ,
1118- "pyparsing" : "~ =3.0.9 " if IDF5 else ">=2.0.3,<2.4.0" ,
1118+ "pyparsing" : "> =3.1.0,<4 " if IDF5 else ">=2.0.3,<2.4.0" ,
11191119 "kconfiglib" : "~=14.1.0" if IDF5 else "~=13.7.1" ,
11201120 "idf-component-manager" : "~=1.5.2" if IDF5 else "~=1.0" ,
1121- "esp-idf-kconfig" : "~ =1.2 .0"
1121+ "esp-idf-kconfig" : "> =1.4.2,<2.0 .0"
11221122 }
11231123
11241124 if sys_platform .system () == "Darwin" and "arm" in sys_platform .machine ().lower ():
@@ -1165,6 +1165,7 @@ def _get_installed_pip_packages(python_exe_path):
11651165 )
11661166 )
11671167
1168+
11681169def get_idf_venv_dir ():
11691170 # The name of the IDF venv contains the IDF version to avoid possible conflicts and
11701171 # unnecessary reinstallation of Python dependencies in cases when Arduino
@@ -1175,6 +1176,7 @@ def get_idf_venv_dir():
11751176 env .subst ("$PROJECT_CORE_DIR" ), "penv" , ".espidf-" + idf_version
11761177 )
11771178
1179+
11781180def ensure_python_venv_available ():
11791181
11801182 def _is_venv_outdated (venv_data_file ):
@@ -1217,7 +1219,6 @@ def _create_venv(venv_dir):
12171219 pip_path
12181220 ), "Error: Failed to create a proper virtual environment. Missing the `pip` binary!"
12191221
1220-
12211222 venv_dir = get_idf_venv_dir ()
12221223 venv_data_file = os .path .join (venv_dir , "pio-idf-venv.json" )
12231224 if not os .path .isfile (venv_data_file ) or _is_venv_outdated (venv_data_file ):
0 commit comments