Skip to content

fix(tools): repair stale install prefix when ISAACGYM/ISAACSIM_HOME was relocated - #1473

Merged
TATP-233 merged 1 commit into
dev/issue-1042-manager-based-apifrom
fix/setup-env-relocation-repair
Sep 3, 2026
Merged

fix(tools): repair stale install prefix when ISAACGYM/ISAACSIM_HOME was relocated#1473
TATP-233 merged 1 commit into
dev/issue-1042-manager-based-apifrom
fix/setup-env-relocation-repair

Conversation

@TATP-233

@TATP-233 TATP-233 commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • scripts/tools/setup_isaacgym_env.sh and scripts/tools/setup_isaacsim_env.sh claimed to be resumable, but broke after the local cache was moved from the legacy $HOME/.unilab/{isaacgym,isaacsim} to the current ~/.cache/unisim default: conda envs and venvs are not relocatable — entry-point shebangs, activate scripts, .pth/egg-link files, PEP 660 editable finders and conda-meta all hard-code the old prefix. Every skip-check/marker still passed (files exist), but bin/pip could not execute ("required file not found") and the editable isaacgym/isaaclab installs vanished from sys.path, so a re-run died at the pip step instead of resuming.
  • Both scripts now detect the stale prefix from the pip shebang and repair it in place (shebang lines only — never binaries; activate scripts; __editable__*_finder.py; .pth/.egg-link; conda-meta), which is far cheaper than re-creating the env / reinstalling multi-GB wheels.
  • pip is now invoked as python -m pip instead of the bin/pip entry point, and the isaacgym skip-check also verifies import isaacgym (pip show trusts a stale egg-link); after a repair the isaacsim 06_verify marker is removed so imports are re-verified.
  • No user-facing or training-impact behavior: the scripts produce the same runtime layout; they only survive a relocated install root now.

Linked Work

  • Issue: n/a (local install breakage found while setting up the isaacgym/isaacsim backends)
  • Parent roadmap (when applicable): n/a
  • Roadmap declared base (when applicable): n/a
  • Milestone: n/a
  • Base branch: dev/issue-1042-manager-based-api (both setup scripts only exist on this integration branch; origin/main does not have them yet)

Validation

  • make test-all passed on the final local head before this PR was created or updated
  • Additional task-specific validation listed below

Commands actually run:

make test-all   # exit 0 (check + test-cov + benchmark entrypoint smoke)
bash scripts/tools/setup_isaacgym_env.sh   # detected relocation, repaired, isaacgym import OK
bash scripts/tools/setup_isaacgym_env.sh   # re-run: all steps skipped, self-check OK
bash scripts/tools/setup_isaacsim_env.sh   # detected relocation, repaired, forced 06_verify re-run passed
bash scripts/tools/setup_isaacsim_env.sh --verify-sim   # all steps skipped; SMOKE TEST OK: Isaac-Cartpole-v0 stepped 20x with 16 envs

Remote CI route:

  • not scheduled; local make test-all is the test gate

Impact

  • Backend impact: none (install tooling only; isaacgym/isaacsim runtimes unchanged)
  • Platform impact: Linux (scripts are Linux-only already)
  • Training effect expected: no

Artifacts

  • W&B: n/a
  • benchmark result: n/a
  • video / screenshot: n/a
  • ONNX / checkpoint: n/a

Checklist

  • Added or updated tests where needed (shell tooling; validated end-to-end on the real relocated cache, no test harness exists for these scripts)
  • Updated docs if behavior or workflow changed (script header comments updated; no workflow change)
  • Linked the driving issue (none — ad-hoc fix)
  • Noted any follow-up work explicitly (none)

…as relocated

Conda envs and venvs are not relocatable: entry-point shebangs, activate
scripts, .pth/egg-link files, PEP 660 editable finders and conda-meta all
hard-code the install prefix. After the local cache was moved from the legacy
$HOME/.unilab/{isaacgym,isaacsim} to the current ~/.cache/unisim default,
every skip-check/marker still passed but pip could not execute and the
editable installs vanished from sys.path, breaking resumable installs.

Both setup scripts now detect the stale prefix from the pip shebang and
rewrite it in place (shebang lines, activate scripts, editable finders,
.pth/egg-link, conda-meta), use python -m pip instead of the bin/pip entry
point, and verify isaacgym/isaaclab by import rather than trusting pip show
or a stale marker (isaacsim 06_verify is forced to re-run after a repair).
@TATP-233
TATP-233 merged commit f302551 into dev/issue-1042-manager-based-api Sep 3, 2026
@TATP-233
TATP-233 deleted the fix/setup-env-relocation-repair branch September 3, 2026 15:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant