implement package installation based on prestartup_script

This commit is contained in:
Dr.Lt.Data
2023-07-10 00:50:41 +09:00
parent 2cf4a1e5a9
commit 3bda3f99f0
5 changed files with 123 additions and 22 deletions

37
prestartup_script.py Normal file
View File

@@ -0,0 +1,37 @@
import os
import subprocess
script_list_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "startup-scripts", "install-scripts.txt")
# Check if script_list_path exists
if os.path.exists(script_list_path):
print("\n#######################################################################")
print("[ComfyUI-Manager] Starting dependency installation for the extension\n")
executed = set()
# Read each line from the file and convert it to a list using eval
with open(script_list_path, 'r') as file:
for line in file:
if line in executed:
continue
executed.add(line)
try:
script = eval(line)
print(f"\n## Install dependency for '{script[0]}'")
code = subprocess.run(script[1:], cwd=script[0])
if code.returncode != 0:
print(f"install script failed: {script[0]}")
except Exception as e:
print(f"[ERROR] Failed to install: {line} / {e}")
# Remove the script_list_path file
if os.path.exists(script_list_path):
os.remove(script_list_path)
print("\n[ComfyUI-Manager] Dependency installation completed.")
print("#######################################################################\n")