Skip to content

Conversation

@hameerabbasi
Copy link
Contributor

@hameerabbasi hameerabbasi commented Jan 4, 2026

Disdvantages:

  • You lose the venv folder and the ability to mess with it as needed.
  • You lose pip and the "regular" way of installing packages.
  • CLI users will be affected.
    • Will need to run something like ./launch-ot.sh ... instead of python ...
  • source venv/bin/activate is replaced by eval "$(pixi -e [cpu|cuda|rocm] shell-hook)" or prefixing each command with pixi run -e [cuda|rocm|cpu]
  • All deps need to be in the TOML. We'd need to make a decision to keep or delete the requirements*.txt files, and if we keep, they have to be kept in sync with the TOML.

Advantages:

  • If you have pixi, you can run pixi run -e [cuda|rocm|cpu] <command>, it will take care of installation running the command from beginning to end.
    • Caveat: You'd still have to do env detection (i.e. detecting between CUDA, ROCm and CPU), but wrapping the script is a lot easier.
  • All your intermittent deps are fixed as well as the direct deps inside pixi.lock. Works wonders for reproducibility. To update, just use pixi update.
  • You can add libgl and tk for linux: No more need for sudo anymore, only hard dep is either wget or curl.
  • Installation is MUCH faster. This makes creating a docker image or updating a container easy and fast.
  • Installation/launch scripts can be simplified.

Decisions to make:

  • Keep or remove requirements*.txt

ToDos for this PR:

  • Update the install/run scripts to install/detect pixi and then do pixi install -e ... or pixi run -e ... (or we can get rid of the install script entirely).
  • Update CLI docs

After merging:

  • Publish a new Docker image ASAP to avoid breakages, especially if removing requirements*.txt.

@O-J1

This comment was marked as resolved.

@hameerabbasi hameerabbasi force-pushed the modernize-install branch 4 times, most recently from 63ef5d0 to f390904 Compare January 4, 2026 12:38
@hameerabbasi hameerabbasi changed the title Modernize requirements*.txt. Move to a pixi-based installation Jan 5, 2026
@hameerabbasi
Copy link
Contributor Author

@dxqb As promised, the +/- are in the description of the PR.


# Profiling
scalene==1.5.51
scalene==2.0.1
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I updated this; version 1.5.51 was really broken on macOS, error on import. Couldn't even launch remote training.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I checked, only scalene.scalene_profiler.start() and scalene.scalene_profiler.stop() are used. Both of those exist in 2.0.1.

@hameerabbasi
Copy link
Contributor Author

This is now blocked on prefix-dev/pixi#1259.

@dxqb dxqb added the waiting waiting for something / cannot fix currently label Jan 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

waiting waiting for something / cannot fix currently

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants