If you are submitting a bug report, please fill in the following details and use the tag [bug].
Describe the bug
With the introduction of IsaacLab tag v2.3.2, there has been an introduction of the file:
IsaacLab/source/isaaclab/isaaclab/utils/mesh.py
and the addition of the following line (14):
"from .mesh import * "
within the file:
IsaacLab/source/isaaclab/isaaclab/utils/__init__.py
It inevitably calls the line "from pxr import Usd, UsdGeom" inside mesh.py .
This causes any file which imports any isaaclab util (e.g. isaaclab.utils.string or DelayBuffer) to forcibly try and import pxr, which is only available while an AppLauncher runtime is present (and fails if it does not).
The behavior breaks our test sequence since some tests import some utils, and pytest scans imports during the collection phase without any regard to the AppLauncher, resulting in an error: ModuleNotFoundError: No module named 'pxr'.
Commenting out the line "from .mesh import * " will fix the issue and let all tests run smoothly.
Steps to reproduce
Create and run any test which has the line "from isaaclab.utils import DelayBuffer".
My actual test has a chain of imports through several files I cannot attach here.
System Info
Describe the characteristic of your environment:
- Commit: [v2.3.2]
- Isaac Sim Version: [5.1.0]
- OS: [Ubuntu 22.04.5]
- GPU: [e.g. RTX 4070 Ti]
- CUDA: [11.8]
- GPU Driver: [550.163.01]
Checklist
Acceptance Criteria
Add the criteria for which this task is considered done. If not known at issue creation time, you can add this once the issue is assigned.
If you are submitting a bug report, please fill in the following details and use the tag [bug].
Describe the bug
With the introduction of IsaacLab tag v2.3.2, there has been an introduction of the file:
IsaacLab/source/isaaclab/isaaclab/utils/mesh.py
and the addition of the following line (14):
"from .mesh import * "
within the file:
IsaacLab/source/isaaclab/isaaclab/utils/__init__.py
It inevitably calls the line "from pxr import Usd, UsdGeom" inside mesh.py .
This causes any file which imports any isaaclab util (e.g. isaaclab.utils.string or DelayBuffer) to forcibly try and import pxr, which is only available while an AppLauncher runtime is present (and fails if it does not).
The behavior breaks our test sequence since some tests import some utils, and pytest scans imports during the collection phase without any regard to the AppLauncher, resulting in an error: ModuleNotFoundError: No module named 'pxr'.
Commenting out the line "from .mesh import * " will fix the issue and let all tests run smoothly.
Steps to reproduce
Create and run any test which has the line "from isaaclab.utils import DelayBuffer".
My actual test has a chain of imports through several files I cannot attach here.
System Info
Describe the characteristic of your environment:
Checklist
Acceptance Criteria
Add the criteria for which this task is considered done. If not known at issue creation time, you can add this once the issue is assigned.