From 59e48a4545cac45c3cbbdb1be571d65dc4718fdd Mon Sep 17 00:00:00 2001 From: Hui Zhou Date: Thu, 9 Jan 2025 10:59:48 +0100 Subject: [PATCH] REFACTOR: Add possibility to specify python venv directory (#5633) Co-authored-by: ring630 <@gmail.com> --- .../Resources/pyaedt_installer_from_aedt.py | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/doc/source/Resources/pyaedt_installer_from_aedt.py b/doc/source/Resources/pyaedt_installer_from_aedt.py index 6b4451a9c00..12abb5d58e7 100644 --- a/doc/source/Resources/pyaedt_installer_from_aedt.py +++ b/doc/source/Resources/pyaedt_installer_from_aedt.py @@ -39,6 +39,20 @@ VENV_DIR_PREFIX = ".pyaedt_env" + +""" +It is possible create Python virtual environment in a specific directory by setting variable VENV_DIR. +For example, +VENV_DIR = "e:/pyaedt_env" +""" +VENV_DIR = None +if not VENV_DIR: + if is_windows: + VENV_DIR = os.path.join(os.environ["APPDATA"], VENV_DIR_PREFIX) + else: + VENV_DIR = os.path.join(os.environ["HOME"], VENV_DIR_PREFIX) + + DISCLAIMER = ( "This script will download and install certain third-party software and/or " "open-source software (collectively, 'Third-Party Software'). Such Third-Party " @@ -99,10 +113,10 @@ def run_pyinstaller_from_c_python(oDesktop): # Add PyAEDT tabs in AEDT # Virtual environment path and Python executable if is_windows: - venv_dir = os.path.join(os.environ["APPDATA"], VENV_DIR_PREFIX, python_version_new) + venv_dir = os.path.join(VENV_DIR, python_version_new) python_exe = os.path.join(venv_dir, "Scripts", "python.exe") else: - venv_dir = os.path.join(os.environ["HOME"], VENV_DIR_PREFIX, python_version_new) + venv_dir = os.path.join(VENV_DIR, python_version_new) python_exe = os.path.join(venv_dir, "bin", "python") pyaedt_path = os.path.join(venv_dir, "Lib", "site-packages", "ansys", "aedt", "core") if is_linux: @@ -207,11 +221,11 @@ def install_pyaedt(): python_version = "3_7" if is_windows: - venv_dir = Path(os.environ["APPDATA"], VENV_DIR_PREFIX, python_version) + venv_dir = Path(VENV_DIR, python_version) python_exe = venv_dir / "Scripts" / "python.exe" pip_exe = venv_dir / "Scripts" / "pip.exe" else: - venv_dir = Path(os.environ["HOME"], VENV_DIR_PREFIX, python_version) + venv_dir = Path(VENV_DIR, python_version) python_exe = venv_dir / "bin" / "python" pip_exe = venv_dir / "bin" / "pip" os.environ["ANSYSEM_ROOT{}".format(args.version)] = args.edt_root