Skip to content

[Proposal] Add optional --python arg when --uv is used to create venv #3559

@kwang-12

Description

@kwang-12

Proposal

Add support for specifying a custom Python interpreter when creating a uv virtual environment via isaaclab.sh.
This would extend the existing --uv option to accept an optional --python /path/to/python argument. The --help text would also be updated to reflect the new syntax and provide usage examples.

Motivation

Currently isaaclab.sh always uses the default python3 in the user’s PATH when creating a uv environment.
On systems with multiple Python versions installed (e.g., Ubuntu 22.04 ships with Python 3.10 but Isaac Sim 5.X requires Python 3.11), the only way to force a specific interpreter is to manually edit the script or run uv venv directly.

Supporting a --python flag would let users do this directly from the script without manual patching.

Alternatives

  1. Manually run uv venv --python /path/to/python and then alias isaaclab.sh yourself (works but bypasses the helper script). or
  2. Edit the isaaclab.sh script to hardcode your preferred Python path (not sustainable across updates).

Neither of these alternatives is user-friendly compared to a built-in --python flag.

Additional context

Example usage after feature implementation:

        1.a create env_isaaclab with system python3
        isaaclab.sh --uv
        1.b create myenv with system python3
        isaaclab.sh --uv myenv               
        1.c create myenv with specified Python 3.11
        isaaclab.sh --uv myenv --python ${HOME}/isaacsim50/kit/python/bin/python3

Checklist

  • I have checked that there is no similar issue in the repo (required)

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.

  • isaaclab.sh supports an optional --python /path/to/python argument following --uv to override the interpreter used by uv venv.
  • print_help (or equivalent) reflects the new syntax and shows example usage.

Fixes: #3560

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions