summaryrefslogtreecommitdiff
path: root/required_modules.py
diff options
context:
space:
mode:
authorOwl <isaclien9752@gmail.com>2025-08-26 19:49:28 -0400
committerOwl <isaclien9752@gmail.com>2025-08-26 19:49:28 -0400
commita2ffb5ad9cb86a86a7fe92d258c893f982cf84c0 (patch)
treef95ae420de177ee70fea13cf1da2b3867dbb0688 /required_modules.py
parent2119dafbffb9a948ae90ebbcbf3c1448f2395f29 (diff)
downloadblenxy-a2ffb5ad9cb86a86a7fe92d258c893f982cf84c0.tar.gz
blenxy-a2ffb5ad9cb86a86a7fe92d258c893f982cf84c0.zip
more robust module checking/updating
Diffstat (limited to 'required_modules.py')
-rw-r--r--required_modules.py51
1 files changed, 0 insertions, 51 deletions
diff --git a/required_modules.py b/required_modules.py
deleted file mode 100644
index 5eb1604..0000000
--- a/required_modules.py
+++ /dev/null
@@ -1,51 +0,0 @@
-import bpy, numpy, subprocess
-from . import file_ops
-
-# register func
-@bpy.app.handlers.persistent
-def register(dummy):
- # get python's binary path (literally my saviour)
- py_bin = bpy.app.binary_path_python
- pip_install = [py_bin, "-B", "-m", "pip", "install",
- "--trusted-host", "pypi.python.org",
- "--trusted-host", "files.pythonhosted.org",
- "--trusted-host", "pypi.org",
- "-U", "--force-reinstall", "--only-binary", ":all:"]
- upd_mods = ["pip", "wheel", "setuptools"]
- new_mods = ["lxml"]
-
- # try importing pip/lxml to trigger
- # the module updating on failure
- try:
- import pip
- import lxml
- except:
- # hecking install pip (ensurepip) + required modules
- subprocess.run([py_bin, "-B", "-m", "ensurepip"])
- # update basic modules then download new modules
- subprocess.run(pip_install + upd_mods)
- subprocess.run(pip_install + new_mods)
- # rename numpy's installation folder (cannot delete the folder in windows)
- file_ops.rename(numpy.__path__[0], numpy.__path__[0] + "_bad")
- subprocess.run(pip_install + ["numpy==1.18.5"]) # install a newer version
- print("First exit!")
- bpy.ops.wm.quit_blender()
- exit(0)
-
- # print module's versions installed
- print("pip %s is installed!" % (pip.__version__))
- print("lxml %s is installed!" % (lxml.__version__))
- # for those who have installed blenxy before, update numpy
- # hacky way to do it but it is the only way that works
- if (numpy.__version__ != "1.18.5"):
- # rename numpy's installation folder (cannot delete the folder in windows)
- file_ops.rename(numpy.__path__[0], numpy.__path__[0] + "_bad")
- subprocess.run(pip_install + ["numpy==1.18.5"]) # install a newer version
- print("Second exit!")
- bpy.ops.wm.quit_blender()
- exit(0)
- print("numpy %s is installed!" % (numpy.__version__))
-
-# unregister func
-def unregister():
- return