Spaces:
Running
on
L40S
Running
on
L40S
import os | |
import sys | |
from subprocess import Popen, check_output, PIPE | |
requirements = open(os.path.join(os.path.dirname(__file__), "requirements.txt")).read().split("\n") | |
installed_packages = check_output( | |
[sys.executable, "-m", "pip", "list"], | |
universal_newlines=True | |
).split("\n") | |
installed_packages = set([package.split(" ")[0].lower() for package in installed_packages if package.strip()]) | |
for requirement in requirements: | |
if requirement.lower() not in installed_packages: | |
print(f"Installing requirements...") | |
Popen([sys.executable, "-m", "pip", "install", "-r", "requirements.txt"], stdout=PIPE, stderr=PIPE, cwd=os.path.dirname(__file__)).communicate() | |
print(f"Installed.") | |
break | |