Add automatic dependency checking and installation for server startup

• Added check_and_install_dependencies()
• Install missing dependencies automatically
This commit is contained in:
yangdx
2025-03-02 00:04:59 +08:00
parent e8d0d065f3
commit f76cf98dbd
2 changed files with 37 additions and 7 deletions

View File

@@ -6,9 +6,24 @@ Start LightRAG server with Gunicorn
import os
import sys
import signal
import pipmaster as pm
from lightrag.api.utils_api import parse_args, display_splash_screen
from lightrag.kg.shared_storage import initialize_share_data, finalize_share_data
def check_and_install_dependencies():
"""Check and install required dependencies"""
required_packages = [
"gunicorn",
"tiktoken",
# Add other required packages here
]
for package in required_packages:
if not pm.is_installed(package):
print(f"Installing {package}...")
pm.install(package)
print(f"{package} installed successfully")
# Signal handler for graceful shutdown
def signal_handler(sig, frame):
@@ -25,6 +40,9 @@ def signal_handler(sig, frame):
def main():
# Check and install dependencies
check_and_install_dependencies()
# Register signal handlers for graceful shutdown
signal.signal(signal.SIGINT, signal_handler) # Ctrl+C
signal.signal(signal.SIGTERM, signal_handler) # kill command
@@ -45,13 +63,6 @@ def main():
print(f"Workers setting: {args.workers}")
print("=" * 80 + "\n")
# Check and install gunicorn if not present
import pipmaster as pm
if not pm.is_installed("gunicorn"):
print("Installing gunicorn...")
pm.install("gunicorn")
# Import Gunicorn's StandaloneApplication
from gunicorn.app.base import BaseApplication