Ray Bell - Prefix-dev tools

submited by
Style Pass
2024-11-23 22:00:06

I've recently been using prefix-dev tools in my personal projects. Here's are my first thoughts and small gotchas I had to overcome.

I've been a conda user for years as it is the De facto python package manager for people working in geosciences. It can resolve python packages as well as C libraries and other large projects (e.g. GDAL ) and even GPU dependencies such as cuda .  I then switched to mamba which is a drop in, faster version of conda. I think conda is now as fast as mamba as the developers have upstreamed their solver to conda. However, it still slow to create a new "virtual environment (venv)" and install a package. It's slows down exploration when you want to try a new library.

uv venv --python 3.13 && source .venv/bin/activate && unset CONDA_PREFIX && uv pip install lightning

 uv is great for 90% of my exploration but if you are using more than simple python packages you may want to install libraries from conda-forge . This is where pixi comes in as the next generation conda package installer. It also is a  project manager. As an example of this, I was playing with marvin recently. When playing with the audio functionality I needed to install pydub which required ffmpeg . ffmpeg is not a python package and therefore can't be installed with uv pip but it can be installed from conda-forge. At this point I switched from uv to pixi. However, first marvin needs to be added to conda-forge which I am doing here .

Leave a Comment