Skip to content

NemoRL venv is not isolated #1132

Closed
Closed

Description

@bogdansalyp

Describe the bug

uv commands use non-isolated user pip outside venv.

Therefore if users A and B have triton 3.2.0 and 3.3.1 in their user pip, it won't be reinstalled which leads to inconsistent behaviour

Steps/Code to reproduce bug

  1. Do any run
  2. Activate env from nemo-rl folder via source venvs/<some_name>/bin/activate
  3. which pip and pip freeze

Expected behavior

pip should be contained in venv directory

Additional context

Use uv venv --seed

Activity

  1. bogdansalyp commented on Sep 15, 2025

    @bogdansalyp
    ContributorAuthor

    We had same setup running fine for user A and crashing for user B. Same machines, same NemoRL .venv setups with no differences in printenv and uv pip freeze

    Then we noticed the venvs/ folder is created which uses user's pip instead of isolated one.

  2. terrykong commented on Sep 15, 2025

    @terrykong
    Collaborator

    Hi @bogdansalyp . We don't recommend using the uv pip API since there are cases where you can end up with an environment that does not respect the lock file.

    Could you explain why you want to source the venvs? If you are using nemo-rl the driver scripts (e.g., run_grpo_math.py) are launched with uv run and we handle the venvs of the worker processes for you so you don't ever need to explicitly activate them

  3. terrykong commented on Dec 5, 2025

    @terrykong
    Collaborator

    @bogdansalyp I’ll close this issue but feel free to open if you continue to have issues.

    One PR that just landed you may be interested in is this one #1491. There were internal requests to be able to support bare Python in the containers b/c in certain circumstances when there were network outages on the intranet, uv run would fail b/c it did a quick metadata check over the internet. With that change you should be able to use bare Python. In fact, you don’t have to source the venvs if you want to use an interpreter from a particular actor. There’s some documentation in that PR that should help.

  4. added
    qa_rcca_donewhen RCCA finished for the issue, the qa will mark with this label .
    on May 5, 2026
  5. qiaochuz-nv commented on May 5, 2026

    @qiaochuz-nv
    Contributor

    QA RCCA Analysis

    RCCA Status: Done
    RCCA Category: covered
    Test Action: none

    Fix PR: #1491
    Root Cause: fix PR includes upstream test coverage.
    Trigger Config: NemoRL venv is not isolated

    Coverage Assessment:

    Area Result
    Existing Test Upstream fix PR test coverage
    Coverage Status COVERED
    Gap N/A
    Corrective Action No nmfw_tests addition required; fix PR includes upstream test coverage or equivalent regression coverage.

    Conclusion: RCCA classification completed for this closed NeMo-RL GitHub issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions