Files
Auto-GPT/scripts/install_plugin_deps.py
Daniel Chen 29284a5460 Add option to install plugin dependencies (#3068)
Co-authored-by: Nicholas Tindle <nick@ntindle.com>
2023-04-24 17:42:10 -05:00

28 lines
806 B
Python

import os
import subprocess
import sys
import zipfile
from pathlib import Path
def main():
# Plugin packages
plugins_dir = Path(os.getenv("PLUGINS_DIR", "plugins"))
for plugin in plugins_dir.glob("*.zip"):
with zipfile.ZipFile(str(plugin), "r") as zfile:
try:
basedir = zfile.namelist()[0]
basereqs = os.path.join(basedir, "requirements.txt")
extracted = zfile.extract(basereqs, path=plugins_dir)
subprocess.check_call(
[sys.executable, "-m", "pip", "install", "-r", extracted]
)
os.remove(extracted)
os.rmdir(os.path.join(plugins_dir, basedir))
except KeyError:
continue
if __name__ == "__main__":
main()