Skip to content

Commit 04044e2

Browse files
authored
Refactor install_python_deps for virtual environment
Refactor Python dependency installation to use a virtual environment and update UV executable path retrieval.
1 parent 28843fe commit 04044e2

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

builder/frameworks/espidf.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1488,8 +1488,12 @@ def generate_mbedtls_bundle(sdk_config):
14881488

14891489

14901490
def 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

15701571
def ensure_python_venv_available():

0 commit comments

Comments
 (0)