From 923b39c7f26103a970fa20e203f7dbbb9e796baa Mon Sep 17 00:00:00 2001 From: "Barry-Thomas-Paul: Moss" Date: Tue, 31 Oct 2023 15:57:41 -0400 Subject: [PATCH] pip installing in flatpak --- extension/ZAZPip_v0.10.2.oxt | Bin 80787 -> 80203 bytes source/pythonpath/easymacro.py | 10 ++ source/pythonpath/install_flatpak.py | 75 +++++++++++ source/pythonpath/install_pip_from_wheel.py | 141 ++++++++++++++++++++ source/pythonpath/main.py | 18 ++- 5 files changed, 242 insertions(+), 2 deletions(-) create mode 100644 source/pythonpath/install_flatpak.py create mode 100644 source/pythonpath/install_pip_from_wheel.py diff --git a/extension/ZAZPip_v0.10.2.oxt b/extension/ZAZPip_v0.10.2.oxt index 897da46d51978d562540770e24e8b51ef57334d9..bd1ba7bcdf8cedf554e052ccd61b1b2df1b8aa1c 100644 GIT binary patch delta 47669 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%0D^{QglZd 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 b%yE=tq2F8oUoJHz!1cYabu+!UEx`W+Q7R^i delta 48053 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 diff --git a/source/pythonpath/easymacro.py b/source/pythonpath/easymacro.py index 4ab44ce..5dc49b3 100644 --- a/source/pythonpath/easymacro.py +++ b/source/pythonpath/easymacro.py @@ -167,6 +167,7 @@ OBJ_GRAPHIC = 'SwXTextGraphicObject' OBJ_TEXTS = 'SwXTextRanges' OBJ_TEXT = 'SwXTextRange' +IS_FLATPAK = bool(os.getenv("FLATPAK_ID", "")) # ~ from com.sun.star.sheet.FilterOperator import EMPTY, NO_EMPTY, EQUAL, NOT_EQUAL @@ -624,6 +625,15 @@ def sleep(seconds): time.sleep(seconds) return +def get_flatpak_site_packages_dir() -> str: + # should never be all users + sand_box = os.getenv("FLATPAK_SANDBOX_DIR", "") or str( + Path.home() / ".var/app/org.libreoffice.LibreOffice/sandbox" + ) + major_minor = f"{sys.version_info.major}.{sys.version_info.minor}" + site_packages = Path(sand_box) / f"lib/python{major_minor}/site-packages" + site_packages.mkdir(parents=True, exist_ok=True) + return str(site_packages) class TimerThread(threading.Thread): diff --git a/source/pythonpath/install_flatpak.py b/source/pythonpath/install_flatpak.py new file mode 100644 index 0000000..cd310fa --- /dev/null +++ b/source/pythonpath/install_flatpak.py @@ -0,0 +1,75 @@ +from __future__ import annotations +from typing import cast +import os +import sys +import subprocess +from pathlib import Path +from typing import Any, List, Dict +import easymacro as app +from install_pip_from_wheel import InstallPipFromWheel + + +class FlatpakInstaller: + """class for the PIP install.""" + + def __init__(self, pip_wheel_url: str, lo_identifier: str) -> None: + self.path_python = app.Paths.python + app.debug(f"Python path: {self.path_python}") + self._pip_url = pip_wheel_url + self._lo_identifier = lo_identifier + self._site_packages = cast(str, app.get_flatpak_site_packages_dir()) + + def install_pip(self) -> None: + if self.is_pip_installed(): + app.info("PIP is already installed") + return + if self._install_wheel(): + if self.is_pip_installed(): + app.info("PIP was installed successfully") + else: + app.error("PIP installation has failed") + + return + + def _get_pip_cmd(self, filename: Path) -> List[str]: + return [str(self.path_python), f"{filename}", "--user"] + + def _get_env(self) -> Dict[str, str]: + """ + Gets Environment used for subprocess. + """ + my_env = os.environ.copy() + py_path = "" + p_sep = ";" if app.IS_WIN else ":" + for d in sys.path: + py_path = py_path + d + p_sep + my_env["PYTHONPATH"] = py_path + return my_env + + def _cmd_pip(self, *args: str) -> List[str]: + cmd: List[str] = [str(self.path_python), "-m", "pip", *args] + return cmd + + def _install_wheel(self) -> bool: + result = False + + installer = InstallPipFromWheel(pip_wheel_url=self._pip_url, lo_identifier=self._lo_identifier) + try: + installer.install(self._site_packages) + if self._site_packages not in sys.path: + sys.path.append(self._site_packages) + result = True + except Exception as err: + app.error(err) + return result + return result + + + def is_pip_installed(self) -> bool: + """Check if PIP is installed.""" + # cmd = self._cmd_pip("--version") + # cmd = '"{}" -m pip -V'.format(self.path_python) + cmd = [str(self.path_python), "-m", "pip", "-V"] + result = subprocess.run(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=self._get_env()) + return result.returncode == 0 + diff --git a/source/pythonpath/install_pip_from_wheel.py b/source/pythonpath/install_pip_from_wheel.py new file mode 100644 index 0000000..3f9950b --- /dev/null +++ b/source/pythonpath/install_pip_from_wheel.py @@ -0,0 +1,141 @@ +from __future__ import annotations +import os +from typing import Any +import tempfile +from pathlib import Path +import easymacro as app +from contextlib import contextmanager +import uno + + +@contextmanager +def change_dir(directory): + """ + A context manager that changes the current working directory to the specified directory + temporarily and then changes it back when the context is exited. + """ + current_dir = os.getcwd() + os.chdir(directory) + try: + yield + finally: + os.chdir(current_dir) + + +class InstallPipFromWheel: + """Download and install PIP from wheel url""" + + def __init__(self, pip_wheel_url: str, lo_identifier: str) -> None: + self._pip_url = pip_wheel_url + self._lo_identifier = lo_identifier + + def install(self, dst: str | Path = "") -> None: + """ + Install pip from wheel file. + + Downloads the pip wheel file from the url provided in the config file and unzips it to the destination directory. + + Args: + dst (str | Path, Optional): The destination directory where the pip wheel file will be installed. If not provided, the ``pythonpath`` location will be used. + + Returns: + None: + + Raises: + None: + """ + if not self._pip_url: + app.error("PIP installation has failed - No wheel url") + return + + if not dst: + root_pth = Path(app.Paths.from_id(self._lo_identifier)) + dst = root_pth / "pythonpath" + + with tempfile.TemporaryDirectory() as temp_dir: + # temp_dir = tempfile.gettempdir() + path_pip = Path(temp_dir) + + filename = path_pip / "pip-wheel.whl" + + data, _, err = app.url_open(self._pip_url, verify=False) + if err: + app.error("Unable to download PIP installation wheel file") + return + filename.write_bytes(data) + + if filename.exists(): + app.info("PIP wheel file has been saved") + else: + app.error("PIP wheel file has not been saved") + return + + try: + self._unzip_wheel(filename=filename, dst=dst) + except Exception: + return + # now that pip has been installed from wheel force a reinstall to ensure it is the latest version + self._force_install_pip() + + def _unzip_wheel(self, filename: Path, dst: str | Path) -> None: + """Unzip the downloaded wheel file""" + if isinstance(dst, str): + dst = Path(dst) + try: + # app.zip.unzip(source=str(filename), target=str(dst)) + self.unzip_file(zip_file=filename, dest_dir=dst) + if dst.exists(): + app.debug(f"PIP wheel file has been unzipped to {dst}") + else: + app.error("PIP wheel file has not been unzipped") + raise Exception("PIP wheel file has not been unzipped") + except Exception as err: + app.error(f"Unable to unzip wheel file: {err}", exc_info=True) + raise + + def _force_install_pip(self) -> None: + """Now that pip has been installed, force reinstall it to ensure it is the latest version""" + cmd = [app.paths.python, "-m", "pip", "install", "--upgrade", "pip"] + app.popen(command=" ".join(cmd)) + + def unzip_file(self, zip_file: str | Path, dest_dir: str | Path = "") -> None: + """ + Unzip the given zip file to the specified destination directory. + + Args: + zip_file (str | Path): The zip file to unzip. + dest_dir (str | Path, optional): The destination directory to unzip to. + + Returns: + None: + """ + from zipfile import ZipFile + + zip_file_path = Path(zip_file) if isinstance(zip_file, str) else zip_file + if not zip_file_path.is_file(): + raise ValueError(f"Expected file, got '{zip_file_path}'") + if not zip_file_path.is_absolute(): + zip_file_path = zip_file_path.absolute() + if not zip_file_path.exists(): + raise FileNotFoundError(f"File '{zip_file_path}' not found") + + if isinstance(dest_dir, str): + dest_dir = zip_file_path.parent if dest_dir == "" else Path(dest_dir) + else: + dest_dir = dest_dir.absolute() + + if not dest_dir.is_dir(): + raise ValueError(f"Expected folder, got '{dest_dir}'") + if not dest_dir.exists(): + try: + dest_dir.mkdir(parents=True) + except Exception as e: + raise FileNotFoundError(f"Folder '{dest_dir}' not found, unable to create folder.") from e + if not dest_dir.exists(): + raise FileNotFoundError(f"Folder '{dest_dir}' not found") + + with change_dir(dest_dir): + with ZipFile(zip_file_path) as f: + f.extractall(dest_dir) + # with change_dir(dest_dir): + # shutil.unpack_archive(zip_file_path, dest_dir) diff --git a/source/pythonpath/main.py b/source/pythonpath/main.py index fc8a41a..bd66353 100644 --- a/source/pythonpath/main.py +++ b/source/pythonpath/main.py @@ -10,6 +10,7 @@ _ = None TITLE = 'ZAZ-PIP' URL_PIP = 'https://bootstrap.pypa.io/get-pip.py' +URL_PIP_WHEEL = 'https://files.pythonhosted.org/packages/47/6a/453160888fab7c6a432a6e25f8afe6256d0d9f2cbd25971021da6491d899/pip-23.3.1-py3-none-any.whl' URL_TEST = 'http://duckduckgo.com' PIP = 'pip' URL_GIT = 'https://git.cuates.net/elmau/zaz-pip' @@ -66,6 +67,7 @@ class Controllers(object): def __init__(self, dialog): self.d = dialog self.path_python = app.paths.python + self.is_flatpak = app.IS_FLATPAK def _set_state(self, state): self._states = { @@ -85,8 +87,7 @@ class Controllers(object): self._install_pip() return - @app.run_in_thread - def _install_pip(self): + def _install_pip_normal(self) -> None: self.d.link_proyect.visible = False self.d.lst_log.visible = True path_pip = app.paths.tmp() @@ -129,6 +130,19 @@ class Controllers(object): return + def _install_pip_flatpak(self) -> None: + from install_flatpak import FlatpakInstaller + installer = FlatpakInstaller(pip_wheel_url=URL_PIP_WHEEL, lo_identifier=ID_EXTENSION) + installer.install_pip() + + @app.run_in_thread + def _install_pip(self): + if app.IS_FLATPAK: + self._install_pip_flatpak() + else: + self._install_pip_normal() + return + def _cmd_pip(self, args): cmd = '"{}" -m pip {}'.format(self.path_python, args) return cmd