setup.py
import subprocess
import sys
import os
required_packages = [
'librosa',
'soundfile',
'numpy',
'pyloudnorm',
'scipy',
'matplotlib',
'pyrubberband',
'pydub',
'noisereduce',
'scikit-learn'
]
def install(package):
try:
subprocess.check_call([sys.executable, '-m', 'pip', 'install', package])
print(f"{package} başarıyla yüklendi.")
except subprocess.CalledProcessError:
print(f"{package} yüklenirken bir hata oluştu. Alternatif yollar denenecek...")
attempt_alternative_install(package)
def attempt_alternative_install(package):
# Denemek için farklı yükleme yöntemleri
methods = [
lambda: subprocess.check_call([sys.executable, '-m', 'pip', 'install', '--upgrade', package]),
lambda: subprocess.check_call([sys.executable, '-m', 'pip', 'install', '--no-cache-dir', package]),
lambda: subprocess.check_call(['pip', 'install', package])
]
for method in methods:
try:
method()
print(f"{package} başarıyla yüklendi (alternatif yöntem).")
return
except subprocess.CalledProcessError:
print(f"{package} alternatif yöntemle yüklenemedi.")
print(f"Tüm yükleme yöntemleri başarısız oldu: {package}")
def create_virtual_env(env_name):
print("Sanal ortam oluşturuluyor...")
if os.name == 'nt':
subprocess.check_call([sys.executable, '-m', 'venv', env_name])
else:
subprocess.check_call(['python3', '-m', 'venv', env_name])
def main():
env_name = "venv"
create_virtual_env(env_name)
print("Sanal ortam aktive edilmeden yükleme yapılıyor...")
for package in required_packages:
print(f"{package} yükleniyor...")
install(package)
print("Tüm yüklemeler tamamlandı.")
if __name__ == "__main__":
main()