diff options
-rw-r--r-- | __init__.py | 2 | ||||
-rw-r--r-- | required_modules.py | 36 |
2 files changed, 37 insertions, 1 deletions
diff --git a/__init__.py b/__init__.py index 5d783d2..b360c57 100644 --- a/__init__.py +++ b/__init__.py @@ -22,7 +22,7 @@ from bpy.app.handlers import persistent def set_blenxy_env(dummy): # "dummy" is a variable that is somehow # passed to set_blenxy_env when called by # bpy.app.handlers.load_post.append - + from . import required_modules # install needed modules for bundled python (awful) from . import basic_settings # settings blenxy has from . import collada_superbmd_import # "custom" importer for SuperBMD collada files from . import collada_superbmd_export # "custom" exporter for SuperBMD collada files diff --git a/required_modules.py b/required_modules.py new file mode 100644 index 0000000..98af424 --- /dev/null +++ b/required_modules.py @@ -0,0 +1,36 @@ +# I tried... + +# setup pip with ensurepip if it isn't included +try: + import pip +except: + import ensurepip + ensurepip.bootstrap() + print("First exit!") + exit(0) + +# upgrade pip (check the version installed by ensurepip) +if (int(pip.__version__.split('.')[0]) > 9): + from pip._internal import main +else: + from pip import main + +# 24.0 is the last version for python3.7 +import certifi +if (int(pip.__version__.split('.')[0]) < 24): + main(["install", "--cert", str(certifi.where()), "--upgrade", "--force-reinstall", "pip", "-q"]) + print("Second exit!") + exit(0) +import pip +print("pip %s is installed!" % (pip.__version__)) + +# check if lxml is installed +try: + import lxml +except: + main(["install", "lxml"]) + print("Third exit!") + exit(0) +print("lxml %s is installed!" % (lxml.__version__)) + +# no more exits please... |