Micromamba and uv
for Python package management
#801
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR includes significant improvement to the Python build process, transitioning from using
apt-get
to Micromamba for easier python environment management (see #796). The key changes involve using Micromamba to install Python along withpip
anduv
at the/opt/conda/
Python environment path, instead of the system Python installation. This allowsuv
as drop-in replacement to replacepip
for much faster builds and better extensibility to other projects. All current code usingpip3 install
has been tested to still work with the CUDA pip cache.Transition to Micromamba:
packages/build/python/Dockerfile
: Updated to install corepython
,uv
, andpip
in a conda environment. Added environment variables for Micromamba binary and Conda Python environment path foruv
.packages/build/python/install.sh
: Replacedapt-get
commands with Micromamba commands for installing Python and core packages. Added Micromamba initialization to/etc/profile.d
for all shells and created symbolic links forpython
andpip
.uv
in containers by compiling bytecodeapt-get
install of python-* packagespip3 install
touv pip install
in other containers (optional)