diff --git a/src/cpl_cli/command/install_service.py b/src/cpl_cli/command/install_service.py index 413ae535..46cc3ba7 100644 --- a/src/cpl_cli/command/install_service.py +++ b/src/cpl_cli/command/install_service.py @@ -36,16 +36,20 @@ class InstallService(CommandABC): Error.error('Found invalid dependencies in cpl.json.') return + Pip.set_executable(project.python_path) for dependency in project.dependencies: Console.spinner( f'Installing: {dependency}', Pip.install, dependency, + source='https://pip.sh-edraft.de' if 'sh_cpl' in dependency else None, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, text_foreground_color=ForegroundColorEnum.green, spinner_foreground_color=ForegroundColorEnum.cyan ) + Pip.reset_executable() + @staticmethod def _get_project_settings_dict(project: ProjectSettings) -> dict: return { diff --git a/src/cpl_cli/command/update_service.py b/src/cpl_cli/command/update_service.py index b9f76f4d..b92e5965 100644 --- a/src/cpl_cli/command/update_service.py +++ b/src/cpl_cli/command/update_service.py @@ -21,25 +21,15 @@ class UpdateService(CommandABC): @staticmethod def _install_package(name: str): - if 'sh_cpl' in name: - Pip.install( - name, - '--upgrade', - '--upgrade-strategy', - 'eager', - source='https://pip.sh-edraft.de', - stdout=subprocess.DEVNULL, - stderr=subprocess.DEVNULL - ) - else: - Pip.install( - name, - '--upgrade', - '--upgrade-strategy', - 'eager', - stdout=subprocess.DEVNULL, - stderr=subprocess.DEVNULL - ) + Pip.install( + name, + '--upgrade', + '--upgrade-strategy', + 'eager', + source='https://pip.sh-edraft.de' if 'sh_cpl' in name else None, + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL + ) def _update_project_dependencies(self): for package in self._project_settings.dependencies: diff --git a/src/cpl_cli/configuration/project_settings.py b/src/cpl_cli/configuration/project_settings.py index 1cd0d4f9..27a94ddf 100644 --- a/src/cpl_cli/configuration/project_settings.py +++ b/src/cpl_cli/configuration/project_settings.py @@ -109,10 +109,8 @@ class ProjectSettings(ConfigurationModelABC): self._python_version = settings[ProjectSettingsNameEnum.python_version.value] if ProjectSettingsNameEnum.python_path.value in settings: - path = os.path.abspath(settings[ProjectSettingsNameEnum.python_path.value]) - if os.path.isfile(path) or os.path.islink(path): - path = os.path.abspath(path) - else: + path = settings[ProjectSettingsNameEnum.python_path.value] + if not os.path.isfile(path) or not os.path.islink(path): path = sys.executable Error.warn(f'{ProjectSettingsNameEnum.python_path.value} not found') else: diff --git a/src/tests/custom/general/cpl.json b/src/tests/custom/general/cpl.json index 21cd45ee..6fbbf7d3 100644 --- a/src/tests/custom/general/cpl.json +++ b/src/tests/custom/general/cpl.json @@ -19,7 +19,7 @@ "sh_cpl==2021.4.1" ], "PythonVersion": ">=3.8", - "PythonPath": "/home/sven/Nextcloud_Sven/Schreibtisch/git_sh-edraft_de/sh_common_py_lib/cpl-env/bin/python3.9", + "PythonPath": "../../../../cpl-env/bin/python3.9", "Classifiers": [] }, "BuildSettings": {