File size: 1,606 Bytes
b1e8fe0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
38
39
import subprocess
import sys

def install_without_version(package_name):
    package_name = str(package_name)
    try:
        __import__(package_name)
        print(f"{package_name} is already installed.")
    except ImportError:
        print(f"{package_name} is not installed. Installing now...")
        subprocess.check_call([sys.executable, "-m", "pip", "install", '-U', package_name])


def install_with_version(package_name, package_version):
    package_name = str(package_name)
    package_version = str(package_version)
    try:
        pkg = __import__(package_name)
        installed_version = pkg.__version__
        if installed_version == package_version:
            print(f"{package_name} {package_version} is already installed.")
        else:
            print(f"{package_name} {installed_version} is installed, but {package_version} is required. Updating now...")
            subprocess.check_call([sys.executable, "-m", "pip", "install", f"{package_name}=={package_version}"])
    except ImportError:
        print(f"Installing version {package_version} now...")
        subprocess.check_call([sys.executable, "-m", "pip", "install", f"{package_name}=={package_version}"])

if __name__=='__main__':
    packages = [['torch', ''], ['datasets', ''], ['spacy', ''], ['networkx', ''], ['numpy', '1.26.4']]
    for package in packages:
        if package[1] == '':
            install_without_version(package[0])
        else:
            install_with_version(package[0], package[1])

    subprocess.check_call([sys.executable, "python", "-m", "spacy", "download", "en_core_web_sm"])