Pip’in verdiği çıktıyı işlemek yerine modülü import etmeye çalışmanız daha pratik olabilir:
import subprocess
def install_library(lib):
subprocess.call("pip install " + lib, shell = True)
try:
__import__(lib)
except ModuleNotFoundError:
return False
else:
return True
if install_library("numpy"):
print("Başarıyla indirildi.")
else:
print("İndirme işlemi tamamlanamadı.")
Modülün içe aktarılmasından kaçınmak isteniyorsa şöyle bir şey de kullanılabilir:
import subprocess
import importlib
def install_library(lib):
if importlib.util.find_spec(lib) is not None:
return True
subprocess.call("pip install " + lib, shell = True)
return importlib.util.find_spec(lib) is not None
if install_library("numpy"):
print("Başarıyla indirildi.")
else:
print("İndirme işlemi tamamlanamadı.")