Kilka poprawek

This commit is contained in:
Rafał Paluch 2025-04-06 11:16:55 +02:00
parent 301abf1b7e
commit 060f40001e
1 changed files with 34 additions and 11 deletions

View File

@ -5,35 +5,56 @@ import urllib.request
import zipfile
import shutil
VENV_DIR = "venv"
REQUIREMENTS_FILE = "requirements.txt"
# Katalog nadrzędny względem projektu
BASE_DIR = os.path.abspath(os.path.join(os.getcwd(), os.pardir))
VENV_DIR = os.path.join(BASE_DIR, "venv")
REQUIREMENTS_SRC = os.path.join(os.getcwd(), "requirements.txt")
REQUIREMENTS_DEST = os.path.join(VENV_DIR, "requirements.txt")
MODEL_URL = "https://alphacephei.com/vosk/models/vosk-model-small-pl-0.22.zip"
MODEL_ZIP = "vosk-model-small-pl-0.22.zip"
MODEL_DIR = "vosk-model-small-pl-0.22"
MODEL_ZIP = os.path.join(VENV_DIR, "vosk-model-small-pl-0.22.zip")
MODEL_DIR = os.path.join(VENV_DIR, "vosk-model-small-pl-0.22")
VOSKPL_SRC = os.path.join(os.getcwd(), "voskpl.py")
VOSKPL_DEST = os.path.join(VENV_DIR, "voskpl.py")
def copy_voskpl():
print("[+] Kopiowanie voskpl.py do venv...")
shutil.copy(VOSKPL_SRC, VOSKPL_DEST)
def create_virtualenv():
print("[+] Tworzenie środowiska wirtualnego...")
print(f"[+] Tworzenie środowiska wirtualnego w: {VENV_DIR}")
subprocess.check_call([sys.executable, "-m", "venv", VENV_DIR])
def copy_requirements():
print("[+] Kopiowanie requirements.txt do venv...")
shutil.copy(REQUIREMENTS_SRC, REQUIREMENTS_DEST)
def install_requirements():
print("[+] Instalacja pakietów z requirements.txt...")
pip_path = os.path.join(VENV_DIR, "bin", "pip") if os.name != "nt" else os.path.join(VENV_DIR, "Scripts", "pip.exe")
subprocess.check_call([pip_path, "install", "-r", REQUIREMENTS_FILE])
pip_path = (
os.path.join(VENV_DIR, "bin", "pip")
if os.name != "nt"
else os.path.join(VENV_DIR, "Scripts", "pip.exe")
)
subprocess.check_call([pip_path, "install", "-r", REQUIREMENTS_DEST])
def download_model():
if os.path.exists(MODEL_DIR):
print("[i] Model już istnieje, pomijam pobieranie.")
print("[i] Model już istnieje w venv, pomijam pobieranie.")
return
print(f"[+] Pobieranie modelu z {MODEL_URL}...")
print(f"[+] Pobieranie modelu do: {MODEL_ZIP}")
urllib.request.urlretrieve(MODEL_URL, MODEL_ZIP)
print("[+] Rozpakowywanie modelu...")
with zipfile.ZipFile(MODEL_ZIP, 'r') as zip_ref:
zip_ref.extractall(".")
with zipfile.ZipFile(MODEL_ZIP, "r") as zip_ref:
zip_ref.extractall(VENV_DIR)
print("[+] Usuwanie archiwum ZIP...")
os.remove(MODEL_ZIP)
@ -41,8 +62,10 @@ def download_model():
def main():
create_virtualenv()
copy_requirements()
install_requirements()
download_model()
copy_voskpl()
print("[✓] Gotowe!")