@@ -1488,8 +1488,12 @@ def generate_mbedtls_bundle(sdk_config):
14881488
14891489
14901490def install_python_deps ():
1491- PYTHON_EXE = env .subst ("$PYTHONEXE" )
1492- UV_EXE = os .path .join (os .path .dirname (PYTHON_EXE ), "uv" + (".exe" if IS_WINDOWS else "" ))
1491+ penv_setup_path = os .path .join (platform .get_dir (), "builder" )
1492+ sys .path .insert (0 , penv_setup_path )
1493+ from penv_setup import get_executable_path
1494+
1495+ penv_dir = os .path .join (PLATFORMIO_DIR , "penv" )
1496+ UV_EXE = get_executable_path (penv_dir , "uv" )
14931497 def _get_installed_uv_packages (python_exe_path ):
14941498 result = {}
14951499 try :
@@ -1511,7 +1515,6 @@ def _get_installed_uv_packages(python_exe_path):
15111515 return
15121516
15131517 deps = {
1514- "uv" : ">=0.1.0" ,
15151518 # https://github.com/platformio/platformio-core/issues/4614
15161519 "urllib3" : "<2" ,
15171520 # https://github.com/platformio/platform-espressif32/issues/635
@@ -1562,9 +1565,7 @@ def get_idf_venv_dir():
15621565 # as an IDF component requires a different version of the IDF package and
15631566 # hence a different set of Python deps or their versions
15641567 idf_version = get_framework_version ()
1565- return os .path .join (
1566- env .subst ("$PROJECT_CORE_DIR" ), "penv" , ".espidf-" + idf_version
1567- )
1568+ return os .path .join (PLATFORMIO_DIR , "penv" , f".espidf-{ idf_version } " )
15681569
15691570
15701571def ensure_python_venv_available ():
0 commit comments