DecodingRaphael / unraphael

Python toolkit for unraveling image similarity with a focus on artistic practice
https://unraphael.readthedocs.io
Apache License 2.0
2 stars 1 forks source link

Fix dashboard #40

Closed stefsmeets closed 3 months ago

stefsmeets commented 3 months ago

The dashboard has some issues that should be fixed.

logs ```────────────────────── Traceback (most recent call last) ─────────────────────── /home/adminuser/venv/lib/python3.12/site-packages/streamlit/runtime/scriptru nner/script_runner.py:600 in _run_script /mount/src/unraphael/dash/pages/1_preprocess.py:7 in 4 import numpy as np 5 import streamlit as st 6 from styling import set_custom_css ❱ 7 from unraphael.preprocess import apply_mask, process_image, remove_bac 8 from importlib.resources import files 9 10 data_directory = files('unraphael.data') /home/adminuser/venv/lib/python3.12/site-packages/unraphael/preprocess.py:1 in ❱ 1 import cv2 2 import numpy as np 3 import rembg 4 /home/adminuser/venv/lib/python3.12/site-packages/cv2/__init__.py:181 in 178 │ if DEBUG: print('OpenCV loader: DONE') 179 180 ❱ 181 bootstrap() 182 /home/adminuser/venv/lib/python3.12/site-packages/cv2/__init__.py:153 in bootstrap 150 │ 151 │ py_module = sys.modules.pop("cv2") 152 │ ❱ 153 │ native_module = importlib.import_module("cv2") 154 │ 155 │ sys.modules["cv2"] = py_module 156 │ setattr(py_module, "_native", native_module) /usr/local/lib/python3.12/importlib/__init__.py:90 in import_module 87 │ │ │ if character != '.': 88 │ │ │ │ break 89 │ │ │ level += 1 ❱ 90 │ return _bootstrap._gcd_import(name[level:], package, level) 91 92 93 _RELOADING = {} ──────────────────────────────────────────────────────────────────────────────── ImportError: libGL.so.1: cannot open shared object file: No such file or directory ────────────────────── Traceback (most recent call last) ─────────────────────── /home/adminuser/venv/lib/python3.12/site-packages/streamlit/runtime/scriptru nner/script_runner.py:600 in _run_script /mount/src/unraphael/dash/pages/2_image_similarity.py:4 in 1 from __future__ import annotations 2 3 import streamlit as st ❱ 4 from config import to_session_state 5 from image_sim import image_similarity_feat_ransac_widget 6 from styling import set_custom_css 7 from widgets import ( /home/adminuser/venv/lib/python3.12/site-packages/cv2/config.py:4 in 1 import os 2 3 BINARIES_PATHS = [ ❱ 4 │ os.path.join(os.path.join(LOADER_DIR, '../../'), 'lib64') 5 ] + BINARIES_PATHS 6 ──────────────────────────────────────────────────────────────────────────────── NameError: name 'LOADER_DIR' is not defined ────────────────────── Traceback (most recent call last) ─────────────────────── /home/adminuser/venv/lib/python3.12/site-packages/streamlit/runtime/scriptru nner/script_runner.py:600 in _run_script /mount/src/unraphael/dash/pages/1_preprocess.py:7 in 4 import numpy as np 5 import streamlit as st 6 from styling import set_custom_css ❱ 7 from unraphael.preprocess import apply_mask, process_image, remove_bac 8 from importlib.resources import files 9 10 data_directory = files('unraphael.data') /home/adminuser/venv/lib/python3.12/site-packages/unraphael/preprocess.py:1 in ❱ 1 import cv2 2 import numpy as np 3 import rembg 4 ──────────────────────────────────────────────────────────────────────────────── ImportError: libGL.so.1: cannot open shared object file: No such file or directory ────────────────────── Traceback (most recent call last) ─────────────────────── /home/adminuser/venv/lib/python3.12/site-packages/streamlit/runtime/scriptru nner/script_runner.py:600 in _run_script /mount/src/unraphael/dash/pages/2_image_similarity.py:4 in 1 from __future__ import annotations 2 3 import streamlit as st ❱ 4 from config import to_session_state 5 from image_sim import image_similarity_feat_ransac_widget 6 from styling import set_custom_css 7 from widgets import ( /home/adminuser/venv/lib/python3.12/site-packages/cv2/config.py:4 in 1 import os 2 3 BINARIES_PATHS = [ ❱ 4 │ os.path.join(os.path.join(LOADER_DIR, '../../'), 'lib64') 5 ] + BINARIES_PATHS 6 ──────────────────────────────────────────────────────────────────────────────── NameError: name 'LOADER_DIR' is not defined ``` --- ``` ────────────────────── Traceback (most recent call last) ─────────────────────── /home/adminuser/venv/lib/python3.12/site-packages/streamlit/runtime/scriptru nner/script_runner.py:600 in _run_script /mount/src/unraphael/dash/pages/1_preprocess.py:7 in 4 import numpy as np 5 import streamlit as st 6 from styling import set_custom_css ❱ 7 from unraphael.preprocess import apply_mask, process_image, remove_bac 8 from importlib.resources import files 9 10 data_directory = files('unraphael.data') /home/adminuser/venv/lib/python3.12/site-packages/unraphael/preprocess.py:1 in ❱ 1 import cv2 2 import numpy as np 3 import rembg 4 /home/adminuser/venv/lib/python3.12/site-packages/cv2/__init__.py:181 in 178 │ if DEBUG: print('OpenCV loader: DONE') 179 180 ❱ 181 bootstrap() 182 /home/adminuser/venv/lib/python3.12/site-packages/cv2/__init__.py:153 in bootstrap 150 │ 151 │ py_module = sys.modules.pop("cv2") 152 │ ❱ 153 │ native_module = importlib.import_module("cv2") 154 │ 155 │ sys.modules["cv2"] = py_module 156 │ setattr(py_module, "_native", native_module) /usr/local/lib/python3.12/importlib/__init__.py:90 in import_module 87 │ │ │ if character != '.': 88 │ │ │ │ break 89 │ │ │ level += 1 ❱ 90 │ return _bootstrap._gcd_import(name[level:], package, level) 91 92 93 _RELOADING = {} ──────────────────────────────────────────────────────────────────────────────── ImportError: libGL.so.1: cannot open shared object file: No such file or directory ────────────────────── Traceback (most recent call last) ─────────────────────── /home/adminuser/venv/lib/python3.12/site-packages/streamlit/runtime/scriptru nner/script_runner.py:600 in _run_script /mount/src/unraphael/dash/pages/2_image_similarity.py:4 in 1 from __future__ import annotations 2 3 import streamlit as st ❱ 4 from config import to_session_state 5 from image_sim import image_similarity_feat_ransac_widget 6 from styling import set_custom_css 7 from widgets import ( /home/adminuser/venv/lib/python3.12/site-packages/cv2/config.py:4 in 1 import os 2 3 BINARIES_PATHS = [ ❱ 4 │ os.path.join(os.path.join(LOADER_DIR, '../../'), 'lib64') 5 ] + BINARIES_PATHS 6 ──────────────────────────────────────────────────────────────────────────────── NameError: name 'LOADER_DIR' is not defined ────────────────────── Traceback (most recent call last) ─────────────────────── /home/adminuser/venv/lib/python3.12/site-packages/streamlit/runtime/scriptru nner/script_runner.py:600 in _run_script /mount/src/unraphael/dash/pages/1_preprocess.py:7 in 4 import numpy as np 5 import streamlit as st 6 from styling import set_custom_css ❱ 7 from unraphael.preprocess import apply_mask, process_image, remove_bac 8 from importlib.resources import files 9 10 data_directory = files('unraphael.data') /home/adminuser/venv/lib/python3.12/site-packages/unraphael/preprocess.py:1 in ❱ 1 import cv2 2 import numpy as np 3 import rembg 4 ──────────────────────────────────────────────────────────────────────────────── ImportError: libGL.so.1: cannot open shared object file: No such file or directory ```
stefsmeets commented 3 months ago

Seems to be related to opencv: https://docs.streamlit.io/knowledge-base/dependencies/libgl, I'm switching the dependency to the headless version.

stefsmeets commented 3 months ago

From the docs:

To define your configuration locally or per-project, add .streamlit/config.toml to your working directory. Your working directory is wherever you call streamlit run.

Seems like .streamlit must be moved up a level.