Skip to content

setup.sh leaves stale per-package .venv dirs that override workspace venv #62

@siddhss5

Description

@siddhss5

Bug

uv run from inside a workspace member with its own .venv/ uses that venv, not the workspace's shared .venv. Per-package venvs may be missing transitive deps that the workspace sync would install — silently producing ModuleNotFoundError on a per-package basis.

Currently in this checkout:

ada_mj/.venv               <- stale
ada_assets/.venv           <- stale
mj_manipulator_ros/.venv   <- stale

geodude and mj_manipulator correctly have no per-package venv. The mismatch was the root cause of the --viser failure tracked in mj_manipulator#162 / ada_mj#37 / geodude#194: ada_mj's stale venv masked the missing deps.

Repro

cd robot-code/ada_mj
uv venv  # creates ada_mj/.venv accidentally
# now any later `uv sync` at the workspace root won't reach this venv
uv run python -m ada_mj --viser  # may fail with ModuleNotFoundError

Fix

Add a wipe step to setup.sh between repo cloning and uv sync. Catches all */.venv one level deep.

Out of scope (follow-up)

  • setup.sh doesn't clone ada_assets / ada_mj despite their being workspace members; that's a separate issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions