File size: 1,204 Bytes
3883c60
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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)