Skip to content

Commit f876a18

Browse files
committed
Fix requirements
1 parent 2a64e3f commit f876a18

File tree

2 files changed

+16
-9
lines changed

2 files changed

+16
-9
lines changed

install_requirements.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@
2525
optional_requirements = {
2626
"lxml": "lxml",
2727
"networkx": "networkx", # optional for blender
28-
"trimesh": "trimesh", # optional for blender
28+
"trimesh": "trimesh", # optional for blender,
29+
"PIL": "Pillow"
2930
}
3031

3132
extra_requirements = {
3233
"pybullet": "pybullet", # optional for blender
3334
"open3d": "open3d", # optional for blender
34-
"python-fcl": "python-fcl", # optional for blender,
35-
"PIL": "Pillow" # optional for blender,
35+
"python-fcl": "python-fcl", # optional for blender
3636
}
3737

3838

phobos/__init__.py

+13-6
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,13 @@
5252
"lxml": "lxml",
5353
"networkx": "networkx", # optional for blender
5454
"trimesh": "trimesh", # optional for blender
55+
"PIL": "Pillow" # optional for blender
5556
}
5657

5758
extra_requirements = {
5859
"pybullet": "pybullet", # optional for blender
5960
"open3d": "open3d", # optional for blender
60-
"python-fcl": "python-fcl", # optional for blender,
61-
"PIL": "Pillow" # optional for blender,
61+
"python-fcl": "python-fcl", # optional for blender
6262
}
6363

6464

@@ -80,7 +80,7 @@ def install_requirement(package_name, upgrade_pip=False, lib=None, ensure_pip=Tr
8080
subprocess.check_call([sys.executable, "-m", "pip", "install", "--upgrade", f"--target={str(lib)}", package_name])
8181

8282

83-
def check_requirements(optional=False, extra=False, force=False, upgrade_pip=False, lib=None):
83+
def check_requirements(optional=False, extra=False, force=False, upgrade_pip=False, lib=None, install=True):
8484
import importlib
8585
print("Checking requirements:")
8686
# Ensure pip is installed
@@ -99,11 +99,17 @@ def check_requirements(optional=False, extra=False, force=False, upgrade_pip=Fal
9999
try:
100100
try:
101101
if importlib.util.find_spec(import_name) is None:
102-
install_requirement(req_name, upgrade_pip=False, lib=lib, ensure_pip=False)
102+
if install:
103+
install_requirement(req_name, upgrade_pip=False, lib=lib, ensure_pip=False)
104+
else:
105+
raise ImportError("Uninstalled requirement:"+ req_name)
103106
except AttributeError: # when using importlib before v3.4
104107
loader = importlib.find_loader(import_name)
105108
if not issubclass(type(loader), importlib.machinery.SourceFileLoader):
106-
install_requirement(req_name, upgrade_pip=False, lib=lib, ensure_pip=False)
109+
if install:
110+
install_requirement(req_name, upgrade_pip=False, lib=lib, ensure_pip=False)
111+
else:
112+
raise ImportError("Uninstalled requirement:"+ req_name)
107113
except subprocess.CalledProcessError as e:
108114
if import_name in list(optional_requirements.keys()) + list(extra_requirements.keys()):
109115
print(f"Couldn't install optional requirement {import_name} ({req_name})")
@@ -226,9 +232,10 @@ def version(package_name):
226232
from . import utils
227233
from . import ci
228234
from . import scripts
235+
check_requirements(optional=True, upgrade_pip=False, extra=False, install=False)
229236
except ImportError as e:
230237
# this is the first installation in blender so we check the requirements
231-
check_requirements(optional=True, upgrade_pip=True, extra=False)
238+
check_requirements(optional=True, upgrade_pip=True, extra=False, install=True)
232239
message = "All Phobos requirements have been installed.\nPlease restart Blender to activate the Phobos add-on!"
233240

234241
def draw(self, context):

0 commit comments

Comments
 (0)