No module named ‘omni.isaac.core’

Hi,
I’m new to Isaaac. I try to import parse_env_cfg by from omni.isaac.lab_tasks.utils import parse_env_cfg. However, I get No module named ‘omni.isaac.core’. Here is the full error:

from omni.isaac.lab_tasks.utils import parse_env_cfg
  File "/home/uchi/IsaacLab/source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks/__init__.py", line 25, in <module>
    from .utils import import_packages
  File "/home/uchi/IsaacLab/source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks/utils/__init__.py", line 9, in <module>
    from .parse_cfg import get_checkpoint_path, load_cfg_from_registry, parse_env_cfg
  File "/home/uchi/IsaacLab/source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks/utils/parse_cfg.py", line 16, in <module>
    from omni.isaac.lab.envs import DirectRLEnvCfg, ManagerBasedRLEnvCfg
  File "/home/uchi/IsaacLab/source/extensions/omni.isaac.lab/omni/isaac/lab/envs/__init__.py", line 45, in <module>
    from . import mdp, ui
  File "/home/uchi/IsaacLab/source/extensions/omni.isaac.lab/omni/isaac/lab/envs/mdp/__init__.py", line 18, in <module>
    from .actions import *  # noqa: F401, F403
  File "/home/uchi/IsaacLab/source/extensions/omni.isaac.lab/omni/isaac/lab/envs/mdp/actions/__init__.py", line 8, in <module>
    from .actions_cfg import *
  File "/home/uchi/IsaacLab/source/extensions/omni.isaac.lab/omni/isaac/lab/envs/mdp/actions/actions_cfg.py", line 9, in <module>
    from omni.isaac.lab.managers.action_manager import ActionTerm, ActionTermCfg
  File "/home/uchi/IsaacLab/source/extensions/omni.isaac.lab/omni/isaac/lab/managers/__init__.py", line 13, in <module>
    from .action_manager import ActionManager, ActionTerm
  File "/home/uchi/IsaacLab/source/extensions/omni.isaac.lab/omni/isaac/lab/managers/action_manager.py", line 20, in <module>
    from omni.isaac.lab.assets import AssetBase
  File "/home/uchi/IsaacLab/source/extensions/omni.isaac.lab/omni/isaac/lab/assets/__init__.py", line 41, in <module>
    from .articulation import Articulation, ArticulationCfg, ArticulationData
  File "/home/uchi/IsaacLab/source/extensions/omni.isaac.lab/omni/isaac/lab/assets/articulation/__init__.py", line 8, in <module>
    from .articulation import Articulation
  File "/home/uchi/IsaacLab/source/extensions/omni.isaac.lab/omni/isaac/lab/assets/articulation/articulation.py", line 17, in <module>
    import omni.isaac.core.utils.stage as stage_utils
ModuleNotFoundError: No module named 'omni.isaac.core'

I’m not sure how I’m getting this error if I install it correctly. I also from isaacsim import SimulationApp and simulation_app = SimulationApp({"headless": True}) before env_cfg = parse_env_cfg(env_name, use_gpu=True, num_envs=num_envs).

Does anyone have any idea how to debug it?

Are you using the python in the isaac sim installation to run your program and not the regular python installed on your computer?

like

path_to_isaac_sim/python.sh simulation.py

I have my py file under tutorials file in Isaaclab and run ./isaaclab.sh -p source/standalone/tutorials/test.py . I also setup my vscode with isaac lab and try to run it on vscode, following this https://isaac-sim.github.io/IsaacLab/source/overview/developer-guide/vs_code.html. I’m not sure that is a correct way

Hi @UchiN

Could you please share your test script?

import torch
from torchrl.modules import LSTMModule
from torchrl.envs import ParallelEnv, DoubleToFloat, Compose, ObservationNorm, StepCounter, TransformedEnv, InitTracker
from torchrl.envs.libs.orbit import OrbitEnv
from omni.isaac.kit import SimulationApp
from omni.isaac.lab_tasks.utils import parse_env_cfg

env_name = "Isaac-Cartpole-v0"
device = "cpu" if not torch.has_cuda else "cuda:0"
num_envs = 2
simulation_app = SimulationApp({"headless": False}
)
env_cfg = parse_env_cfg(env_name, use_gpu=True, num_envs=num_envs)

def base_env_maker(env_name, env_cfg, device):
    base_env = OrbitEnv(
        env_name,
        device=device,
        cfg=env_cfg,
    )

    return base_env

def create_rhs_transform(in_size, num_cells, device):
    lstm = LSTMModule(
        input_size=in_size,
        hidden_size=num_cells,
        device=device,
        in_key="observation",
        out_key="rnn_out",
    )
    return lstm.make_tensordict_primer()

def env_maker():
    env = TransformedEnv(
        env=base_env_maker(env_name, env_cfg, device),
        transform=
            Compose(
                InitTracker(),
                DoubleToFloat(
                    in_keys=["observation"],
                ),
                StepCounter(),
                ObservationNorm(in_keys=["observation"]),
            )   
        )
    env.transform[-1].init_stats(10, reduce_dim=0)
    env.append_transform(create_rhs_transform(
                    in_size=11,
                    num_cells=5,
                    device=device,
                ))
    return env

env = env_maker()
td = env.reset()