21 lines
734 B
Python
21 lines
734 B
Python
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
|