From 4e79384c8e241def4d08de9c2349ca113912d530 Mon Sep 17 00:00:00 2001 From: Ziad-I <68874104+Ziad-I@users.noreply.github.com> Date: Tue, 16 Jul 2024 11:41:05 +0300 Subject: [PATCH] fix packages path when using dev setup with symlinks --- src/blenderbim/blenderbim/bim/data/webui/sioserver.py | 8 ++++++++ src/blenderbim/blenderbim/tool/web.py | 11 +++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/data/webui/sioserver.py b/src/blenderbim/blenderbim/bim/data/webui/sioserver.py index d367c4d579..b497c456be 100644 --- a/src/blenderbim/blenderbim/bim/data/webui/sioserver.py +++ b/src/blenderbim/blenderbim/bim/data/webui/sioserver.py @@ -1,3 +1,11 @@ +import sys +import os + +blenderbim_path = os.environ.get("blenderbim_path") +if blenderbim_path: + blenderbim_lib_path = os.path.join(blenderbim_path, "libs", "site", "packages") + sys.path.insert(0, blenderbim_lib_path) + import argparse from aiohttp import web import socketio diff --git a/src/blenderbim/blenderbim/tool/web.py b/src/blenderbim/blenderbim/tool/web.py index 109b426fc9..7227bf196f 100644 --- a/src/blenderbim/blenderbim/tool/web.py +++ b/src/blenderbim/blenderbim/tool/web.py @@ -66,14 +66,21 @@ class Web(blenderbim.core.tool.Web): @classmethod def start_websocket_server(cls, port): + import addon_utils + global ws_process webui_path = os.path.join(bpy.context.scene.BIMProperties.data_dir, "webui") - ws_path = os.path.join(webui_path, "sioserver.py") + addon = [a for a in addon_utils.modules() if a.bl_info["name"] == "BlenderBIM"][0] + blenderbim_path = os.path.dirname(addon.__file__) + + env = os.environ.copy() + env["blenderbim_path"] = blenderbim_path + ws_process = subprocess.Popen( - [sys.executable, ws_path, "--p", str(port), "--host", "127.0.0.1"], cwd=webui_path + [sys.executable, ws_path, "--p", str(port), "--host", "127.0.0.1"], cwd=webui_path, env=env ) cls.open_web_browser(port) cls.set_is_running(True)