summaryrefslogtreecommitdiff
path: root/required_modules.py
blob: 6049839d15eda6c333bd7c1905768d5a4ceaccdb (plain)
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
import bpy
from subprocess import run

# get python's binary path (literally my saviour)
py_bin = bpy.app.binary_path_python
req_mods = ["lxml"]
trusted_hosts = ["--trusted-host", "pypi.python.org", "--trusted-host", "files.pythonhosted.org", "--trusted-host", "pypi.org"]

try:
  import pip
  import setuptools
  import lxml
except:
  # hecking install pip (ensurepip) + required modules
  run([py_bin, "-m", "ensurepip"])  
  # update pip and setuptools to latest version
  run([py_bin, "-m", "pip", "install", "--upgrade", "--force-reinstall", "pip"] + trusted_hosts)  
  run([py_bin, "-m", "pip", "install", "--upgrade", "setuptools"] + trusted_hosts)  
  # install required modules
  run([py_bin, "-m", "pip", "install"] + req_mods + trusted_hosts)
  print("First exit!")
  exit(0) 

# print module's versions installed
print("pip %s is installed!" % (pip.__version__))
print("setuptools %s is installed!" % (pip.__version__))
print("lxml %s is installed!" % (lxml.__version__))