audio-webui / setup_tools /requirements_parser.py
mrtroydev's picture
Upload folder using huggingface_hub
3883c60 verified
from .commands import run_pip
from .os import is_windows
def parse_requirements(req_file='install_requirements.txt'):
# Some stuff for the install_requirements
windows = is_windows()
requirements_parsed = []
with open(req_file, 'r') as file:
for line in file.readlines():
line = line.strip()
# Make sure it can be unpacked
semis = line.count(';')
add_semis = (2 - semis) * ';'
line = line + add_semis
packages, args, condition = line.split(';')[:3]
if not condition or eval(condition):
for package in packages.split(' '):
package = package.strip()
if package:
requirements_parsed.append(f'{package} {args}')
return requirements_parsed
large_packages = ['torch==2.0.1']
def install_requirements(req_file='install_requirements.txt', show_output=True):
for requirement in parse_requirements(req_file):
name = requirement.split(" ")[0]
print(f'Installing requirement {name}...' + (' This could take a while' if name in large_packages else ''))
run_pip(requirement, show_output)