aboutsummaryrefslogtreecommitdiff
path: root/scripts/install_plugin_deps.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/install_plugin_deps.py')
-rw-r--r--scripts/install_plugin_deps.py65
1 files changed, 0 insertions, 65 deletions
diff --git a/scripts/install_plugin_deps.py b/scripts/install_plugin_deps.py
deleted file mode 100644
index 1cd0bd1ad..000000000
--- a/scripts/install_plugin_deps.py
+++ /dev/null
@@ -1,65 +0,0 @@
-import os
-import subprocess
-import sys
-import zipfile
-from glob import glob
-from pathlib import Path
-
-from autogpt.logs import logger
-
-
-def install_plugin_dependencies():
- """
- Installs dependencies for all plugins in the plugins dir.
-
- Args:
- None
-
- Returns:
- None
- """
- plugins_dir = Path(os.getenv("PLUGINS_DIR", "plugins"))
-
- logger.debug(f"Checking for dependencies in zipped plugins...")
-
- # Install zip-based plugins
- for plugin_archive in plugins_dir.glob("*.zip"):
- logger.debug(f"Checking for requirements in '{plugin_archive}'...")
- with zipfile.ZipFile(str(plugin_archive), "r") as zfile:
- if not zfile.namelist():
- continue
-
- # Assume the first entry in the list will be (in) the lowest common dir
- first_entry = zfile.namelist()[0]
- basedir = first_entry.rsplit("/", 1)[0] if "/" in first_entry else ""
- logger.debug(f"Looking for requirements.txt in '{basedir}'")
-
- basereqs = os.path.join(basedir, "requirements.txt")
- try:
- extracted = zfile.extract(basereqs, path=plugins_dir)
- except KeyError as e:
- logger.debug(e.args[0])
- continue
-
- logger.debug(f"Installing dependencies from '{basereqs}'...")
- subprocess.check_call(
- [sys.executable, "-m", "pip", "install", "-r", extracted]
- )
- os.remove(extracted)
- os.rmdir(os.path.join(plugins_dir, basedir))
-
- logger.debug(f"Checking for dependencies in other plugin folders...")
-
- # Install directory-based plugins
- for requirements_file in glob(f"{plugins_dir}/*/requirements.txt"):
- logger.debug(f"Installing dependencies from '{requirements_file}'...")
- subprocess.check_call(
- [sys.executable, "-m", "pip", "install", "-r", requirements_file],
- stdout=subprocess.DEVNULL,
- )
-
- logger.debug("Finished installing plugin dependencies")
-
-
-if __name__ == "__main__":
- install_plugin_dependencies()