New features to try#
This page contains recent additions to conda worth your attention, including features still in beta that we’d love your feedback on. For the full list of changes across releases, see the Release notes.
Stage legend
Stable — On by default, recommended for all users.
Beta — Opt in to test, not recommended for production. We want your feedback!
Install PyPI packages with conda install#
Available in conda 26.5 Beta
The new conda-pypi plugin lets you install PyPI packages natively with conda install. Conda resolves across both conda channels and PyPI in a single solve, and PyPI wheel packages behave like any other conda package once installed: they show up in conda list, get captured in conda export, and uninstall cleanly with conda remove.
This replaces the common workaround of running pip install inside a conda environment, which can leave you with packages conda doesn’t know about, environments that are hard to reproduce, and hard-to-debug conflicts that surface much later.
How to opt in
Make sure you’re on conda 26.5 or later. To update:
conda install --name base 'conda>=26.5'
Enable the Rattler solver and add the
conda-pypichannel:conda config --set solver rattler conda config --append channels conda-pypi
Basic usage
Before, you had to install conda packages and then pip install packages from PyPI:
conda install pandas scikit-learn
pip install some-pypi-package
But with conda-pypi enabled, you only need one command:
conda install pandas scikit-learn some-pypi-package
What’s next
We want to hear what works, what doesn’t, and what should come next. Open an issue or join the discussion below.
Full documentation · Open a GitHub issue · Join the discussion in Zulip
Faster solves with Rattler solver#
Available in conda 26.5 Beta
Rattler is a Rust-based solver developed within the conda ecosystem by the team at Prefix.dev. It will be replacing Libmamba as the default environment solver in the future.
Environments solve meaningfully faster with Rattler, especially large or complex ones, and your existing environments and workflows keep working.
How to opt in
Update conda and switch your default solver to Rattler:
conda install --name base 'conda>=26.5'
conda config --set solver rattler
To switch back at any time:
conda config --remove-key solver
What’s next
Rattler will most likely become the default solver in a conda 27.x release. Trying it now and reporting issues helps us decide when it’s ready and shapes how the transition will work for the wider community
Full documentation · Open a GitHub issue · Join the discussion in Zulip
Native multi-platform lockfile support#
Available in conda 26.5 Stable
Available to everyone running conda 26.5. No opt-in required.
conda export, conda create, and conda install now support lockfiles as a first-class artifact. A lockfile records the exact packages, versions, builds, and channels in an environment, and conda can use that lockfile to recreate that environment exactly. Lockfiles can also record the resolved packages for several platforms at once. With a multi-platform lockfile, the same file can recreate the environment on Linux, macOS, and Windows.
When creating or installing from a lockfile, conda skips solving entirely and goes straight to downloading and installing the pinned packages. For large environments, or environments rebuilt repeatedly in CI, this is the difference between minutes of solving on every run and a fast, deterministic install.
Conda supports the conda-lock.yaml and pixi.lock formats natively. No separate plugin or third-party tool is required.
Basic usage
Update conda to version 26.5 or later to use this feature:
conda install --name base 'conda>=26.5.'
Export an environment to a lockfile:
conda export --name my-env --file conda-lock.yaml
Recreate the environment on another machine:
conda create --name my-env --file conda-lock.yaml
By default, the lockfile captures only the platform you exported from. To capture multiple platforms in one file, pass --platform once per target:
conda export --name my-env --file conda-lock.yaml \
--platform linux-64 \
--platform osx-arm64 \
--platform win-64
A few things to keep in mind
Reproducibility depends on the channel. A lockfile pins exact packages, but those packages must still be available when you recreate. If a package is removed or yanked later, the recreate will fail.
pip-installed packages aren’t captured by default.conda exportto a lockfile captures conda packages only. If you need PyPI packages reproducibly captured, see Install PyPI packages with conda above. That option enables conda to install (and export) PyPI packages natively.
Full documentation · Open a GitHub issue · Join the discussion in Zulip