Compare commits

..

3 Commits

Author SHA1 Message Date
dw-0
228f48251f Merge 05b4ef2d18 into 099d47df2f 2024-02-12 00:50:38 -08:00
dw-0
05b4ef2d18 refactor(utils): raise exception if pip not found in venv
Signed-off-by: Dominik Willner <th33xitus@gmail.com>
2024-02-11 20:19:29 +01:00
dw-0
863c62511c fix(klipper): add python3-venv dependency for creating venv
Signed-off-by: Dominik Willner <th33xitus@gmail.com>
2024-02-11 20:19:29 +01:00
2 changed files with 13 additions and 2 deletions

View File

@@ -132,6 +132,7 @@ def install_klipper_packages(klipper_dir: Path) -> None:
script = klipper_dir.joinpath("scripts/install-debian.sh")
packages = parse_packages_from_file(script)
packages = [pkg.replace("python-dev", "python3-dev") for pkg in packages]
packages.append("python3-venv")
# Add dfu-util for octopi-images
packages.append("dfu-util")
# Add dbus requirement for DietPi distro

View File

@@ -23,6 +23,7 @@ from typing import List, Literal
from kiauh.utils.input_utils import get_confirm
from kiauh.utils.logger import Logger
from kiauh.utils.filesystem_utils import check_file_exist
def kill(opt_err_msg: str = "") -> None:
@@ -98,7 +99,12 @@ def update_python_pip(target: Path) -> None:
"""
Logger.print_status("Updating pip ...")
try:
command = [target.joinpath("bin/pip"), "install", "-U", "pip"]
pip_location = target.joinpath("bin/pip")
pip_exists = check_file_exist(pip_location)
if not pip_exists:
raise FileNotFoundError("Error updating pip! Not found.")
command = [pip_location, "install", "-U", "pip"]
result = subprocess.run(command, stderr=subprocess.PIPE, text=True)
if result.returncode != 0 or result.stderr:
Logger.print_error(f"{result.stderr}", False)
@@ -106,8 +112,12 @@ def update_python_pip(target: Path) -> None:
return
Logger.print_ok("Updating pip successfull!")
except FileNotFoundError as e:
Logger.print_error(e)
raise
except subprocess.CalledProcessError as e:
Logger.print_error(f"Error updating pip:\n{e.output.decode()}")
raise
def install_python_requirements(target: Path, requirements: Path) -> None:
@@ -117,9 +127,9 @@ def install_python_requirements(target: Path, requirements: Path) -> None:
:param requirements: Path to the requirements.txt file
:return: None
"""
update_python_pip(target)
Logger.print_status("Installing Python requirements ...")
try:
update_python_pip(target)
command = [target.joinpath("bin/pip"), "install", "-r", f"{requirements}"]
result = subprocess.run(command, stderr=subprocess.PIPE, text=True)
if result.returncode != 0 or result.stderr: