-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall.py
More file actions
77 lines (63 loc) · 2.51 KB
/
install.py
File metadata and controls
77 lines (63 loc) · 2.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
"""
Installation script for ComfyUI-SAM3 required dependencies.
Called by ComfyUI Manager during installation/update.
For GPU acceleration (optional), run speedup.py after installation.
"""
import os
import subprocess
import sys
def install_requirements():
"""
Install dependencies from requirements.txt.
"""
print("[ComfyUI-SAM3] Installing requirements.txt dependencies...")
script_dir = os.path.dirname(os.path.abspath(__file__))
requirements_path = os.path.join(script_dir, "requirements.txt")
if not os.path.exists(requirements_path):
print("[ComfyUI-SAM3] [WARNING] requirements.txt not found, skipping")
return False
try:
result = subprocess.run(
[sys.executable, "-m", "pip", "install", "-r", requirements_path],
capture_output=True,
text=True,
timeout=600
)
if result.returncode == 0:
print("[ComfyUI-SAM3] [OK] Requirements installed successfully")
else:
print("[ComfyUI-SAM3] [WARNING] Requirements installation had issues")
if result.stderr:
print(f"[ComfyUI-SAM3] Error details: {result.stderr[:500]}")
return False
except Exception as e:
print(f"[ComfyUI-SAM3] [WARNING] Requirements installation error: {e}")
return False
# Install ninja for faster CUDA compilation (used by speedup.py if run later)
print("[ComfyUI-SAM3] Installing ninja build system...")
try:
result = subprocess.run(
[sys.executable, "-m", "pip", "install", "ninja"],
capture_output=True,
text=True,
timeout=300
)
if result.returncode == 0:
print("[ComfyUI-SAM3] [OK] Ninja installed successfully")
else:
print("[ComfyUI-SAM3] [WARNING] Ninja installation failed (optional, only needed for GPU acceleration)")
except Exception as e:
print(f"[ComfyUI-SAM3] [WARNING] Ninja installation error: {e}")
return True
if __name__ == "__main__":
print("[ComfyUI-SAM3] Running installation script...")
print("="*80)
# Install requirements.txt
install_requirements()
print("="*80)
print("[ComfyUI-SAM3] Installation script completed")
print("")
print("[ComfyUI-SAM3] [INFO] For GPU acceleration (optional, 5-10x faster video tracking):")
print("[ComfyUI-SAM3] python speedup.py")
print("[ComfyUI-SAM3]")
print("[ComfyUI-SAM3] GPU acceleration is optional. ComfyUI-SAM3 works fine without it.")