`load_trajectories` requires backend dependencies
Closed this issue · 0 comments
arcticfly commented
I'm unable to import load_trajectories on my macbook because it pulls in a backend dependency that eventually requires tblib to be installed. Since it's only used on the client side, load_trajectories shouldn't rely on backend imports at all.
This bug prevents me from displaying benchmarks on my local machine.
Full trace:
Cell In[1], line 5
2 import os
3 from dotenv import load_dotenv
----> 5 from art.utils.benchmarking.load_trajectories import load_trajectories
6 from art.utils.benchmarking.charts import (
7 percentage_comparison_bar_chart,
8 training_progress_chart,
9 )
10 import art.utils.benchmarking.charts
File ~/project/agent-reinforcement-training/src/art/utils/benchmarking/load_trajectories.py:15
12 from tqdm.auto import tqdm
14 from art.model import Model as ArtModel
---> 15 from art.local import LocalBackend
16 from art.utils.get_repo_root_path import get_repo_root_path
17 from art.utils.output_dirs import (
18 get_default_art_path,
19 get_models_dir,
20 get_trajectories_dir,
21 )
File ~/project/agent-reinforcement-training/src/art/local/__init__.py:1
----> 1 from .backend import LocalBackend
3 __all__ = ["LocalBackend"]
File ~/project/agent-reinforcement-training/src/art/local/backend.py:16
10 from art.utils.output_dirs import (
11 get_default_art_path,
12 get_model_dir,
13 get_trajectories_split_dir,
14 )
15 from art.utils.trajectory_logging import serialize_trajectory_groups
---> 16 from mp_actors import move_to_child_process
17 import numpy as np
18 import os
File ~/project/agent-reinforcement-training/src/mp_actors/__init__.py:1
----> 1 from .move import move_to_child_process
3 __all__ = ["move_to_child_process"]
File ~/project/agent-reinforcement-training/src/mp_actors/move.py:9
7 import setproctitle
8 import sys
----> 9 from tblib import pickling_support
10 from typing import Any, AsyncGenerator, cast, TypeVar
11 import uuid
ModuleNotFoundError: No module named 'tblib'