From f74e045b69c37163a3b4dbc832aaed878d84f29e Mon Sep 17 00:00:00 2001 From: "j.spijker@ultimaker.com" Date: Sat, 18 Jun 2022 16:51:01 +0200 Subject: [PATCH] Use the CPython dependency for the VirtualPythonEnv Contributes to CURA-9365 --- generators/VirtualPythonEnv.py | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/generators/VirtualPythonEnv.py b/generators/VirtualPythonEnv.py index 8c1c127..854645c 100644 --- a/generators/VirtualPythonEnv.py +++ b/generators/VirtualPythonEnv.py @@ -10,7 +10,6 @@ from jinja2 import Template from conan.tools.env import VirtualRunEnv from conans.model import Generator from conans.errors import ConanException -from conans import tools class VirtualPythonEnv(Generator): @@ -36,24 +35,7 @@ class VirtualPythonEnv(Generator): @property def content(self): - from platform import python_version - py_version = python_version() - py_version = self.conanfile.options.get_safe("python_version", py_version) - if py_version == python_version(): - python_interpreter = Path(sys.executable) - else: - # Need to find the requested Python version - # Assuming they're all installed along-side each other - current_py_base_version = f"{tools.Version(python_version()).major}{tools.Version(python_version()).minor}" - py_base_version = f"{tools.Version(py_version).major}{tools.Version(py_version).minor}" - base_exec_prefix = sys.exec_prefix.split(current_py_base_version) - if len(base_exec_prefix) != 2: - raise ConanException(f"Could not find requested Python version {py_version}") - py_exec_prefix = Path(base_exec_prefix[0] + py_base_version) - py_exec = Path(sys.executable) - python_interpreter = py_exec_prefix.joinpath(py_exec.stem + py_exec.suffix) - if not python_interpreter.exists(): - raise ConanException(f"Could not find requested Python executable at: {python_interpreter}") + python_interpreter = self.conanfile.deps_user_info["cpython"].python # When on Windows execute as Windows Path if self.conanfile.settings.os == "Windows": @@ -67,7 +49,7 @@ class VirtualPythonEnv(Generator): if self.conanfile.settings.os != "Windows": python_venv_interpreter = Path(self.conanfile.build_folder, self._venv_path, "python") if not python_venv_interpreter.exists(): - python_venv_interpreter.link_to(Path(self.conanfile.build_folder, self._venv_path, + python_venv_interpreter.hardlink_to(Path(self.conanfile.build_folder, self._venv_path, Path(sys.executable).stem + Path(sys.executable).suffix)) else: python_venv_interpreter = Path(self.conanfile.build_folder, self._venv_path,