feat: Automate installation of required libraries. (#1795)

This commit is contained in:
Jaimin Godhani
2024-09-03 12:37:57 +05:30
committed by GitHub
parent 9804f078d0
commit d03ba0fc8a
4 changed files with 54 additions and 12 deletions

View File

@@ -1,3 +1,5 @@
import subprocess
import sys
import json
from typing import Optional, List
from pydantic import BaseModel
@@ -6,9 +8,18 @@ try:
import psycopg2
from psycopg2.extras import execute_values
except ImportError:
raise ImportError(
"PGVector requires extra dependencies. Install with `pip install psycopg2`"
) from None
user_input = input("The 'psycopg2' library is required. Install it now? [y/N]: ")
if user_input.lower() == 'y':
try:
subprocess.check_call([sys.executable, "-m", "pip", "install", "psycopg2"])
import psycopg2
from psycopg2.extras import execute_values
except subprocess.CalledProcessError:
print("Failed to install 'psycopg2'. Please install it manually using 'pip install psycopg2'.")
sys.exit(1)
else:
print("The required 'psycopg2' library is not installed.")
sys.exit(1)
from mem0.vector_stores.base import VectorStoreBase