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"])
|