Checklist
What happened?
With add_pip_as_python_dependency: True, creating a new environment with python=3.11 from conda-forge using the default libmamba solver does not install pip.
The same command using --solver=classic does install pip, along with setuptools, wheel, and packaging.
This appears specific to the libmamba solver path with conda-forge metadata. In a separate test, libmamba with defaults did include pip, while libmamba with conda-forge did not.
Reproducer
conda config --show add_pip_as_python_dependency solver channels
conda create -n repro-libmamba python=3.11 \
-c conda-forge --override-channels --dry-run
conda create -n repro-classic python=3.11 \
-c conda-forge --override-channels --solver=classic --dry-run
Config output
add_pip_as_python_dependency: True
channels:
- conda-forge
- defaults
solver: libmamba
Actual behavior with libmamba
Channels:
- conda-forge
Platform: osx-arm64
Collecting package metadata (repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /opt/homebrew/Caskroom/miniconda/base/envs/repro-libmamba
added / updated specs:
- python=3.11
The following NEW packages will be INSTALLED:
bzip2 conda-forge/osx-arm64::bzip2-1.0.8-hd037594_9
ca-certificates conda-forge/noarch::ca-certificates-2026.4.22-hbd8a1cb_0
libexpat conda-forge/osx-arm64::libexpat-2.7.5-hf6b4638_0
libffi conda-forge/osx-arm64::libffi-3.5.2-hcf2aa1b_0
liblzma conda-forge/osx-arm64::liblzma-5.8.3-h8088a28_0
libsqlite conda-forge/osx-arm64::libsqlite-3.53.0-h1b79a29_0
libzlib conda-forge/osx-arm64::libzlib-1.3.2-h8088a28_2
ncurses conda-forge/osx-arm64::ncurses-6.6-h1d4f5a5_0
openssl conda-forge/osx-arm64::openssl-3.6.2-hd24854e_0
python conda-forge/osx-arm64::python-3.11.15-h8561d8f_0_cpython
readline conda-forge/osx-arm64::readline-8.3-h46df422_0
tk conda-forge/osx-arm64::tk-8.6.13-h010d191_3
tzdata conda-forge/noarch::tzdata-2025c-hc9c84f9_1
DryRunExit: Dry run. Exiting.
pip is missing.
Expected / classic solver behavior
Collecting package metadata (current_repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /opt/homebrew/Caskroom/miniconda/base/envs/repro-classic
added / updated specs:
- python=3.11
The following NEW packages will be INSTALLED:
bzip2 conda-forge/osx-arm64::bzip2-1.0.8-hd037594_9
ca-certificates conda-forge/noarch::ca-certificates-2026.4.22-hbd8a1cb_0
libexpat conda-forge/osx-arm64::libexpat-2.7.5-hf6b4638_0
libffi conda-forge/osx-arm64::libffi-3.5.2-hcf2aa1b_0
liblzma conda-forge/osx-arm64::liblzma-5.8.3-h8088a28_0
libsqlite conda-forge/osx-arm64::libsqlite-3.53.0-h1b79a29_0
libzlib conda-forge/osx-arm64::libzlib-1.3.2-h8088a28_2
ncurses conda-forge/osx-arm64::ncurses-6.6-h1d4f5a5_0
openssl conda-forge/osx-arm64::openssl-3.6.2-hd24854e_0
packaging conda-forge/noarch::packaging-26.2-pyhc364b38_0
pip conda-forge/noarch::pip-26.0.1-pyh8b19718_0
python conda-forge/osx-arm64::python-3.11.15-h8561d8f_0_cpython
readline conda-forge/osx-arm64::readline-8.3-h46df422_0
setuptools conda-forge/noarch::setuptools-82.0.1-pyh332efcf_0
tk conda-forge/osx-arm64::tk-8.6.13-h010d191_3
tzdata conda-forge/noarch::tzdata-2025c-hc9c84f9_1
wheel conda-forge/noarch::wheel-0.47.0-pyhd8ed1ab_0
DryRunExit: Dry run. Exiting.
Conda Info
active environment : base
active env location : /opt/homebrew/Caskroom/miniconda/base
shell level : 1
user config file : /Users/drew/.condarc
populated config files : /opt/homebrew/Caskroom/miniconda/base/.condarc
/opt/homebrew/Caskroom/miniconda/base/condarc.d/anaconda-auth.yml
/Users/drew/.condarc
conda version : 26.3.2
conda-build version : not installed
python version : 3.13.13.final.0
solver : libmamba (default)
virtual packages : __archspec=1=m1
__conda=26.3.2=0
__osx=26.4.1=0
__unix=0=0
base environment : /opt/homebrew/Caskroom/miniconda/base (writable)
conda av data dir : /opt/homebrew/Caskroom/miniconda/base/etc/conda
conda av metadata url : None
channel URLs : https://conda.anaconda.org/conda-forge/osx-arm64
https://conda.anaconda.org/conda-forge/noarch
https://repo.anaconda.com/pkgs/main/osx-arm64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/osx-arm64
https://repo.anaconda.com/pkgs/r/noarch
package cache : /opt/homebrew/Caskroom/miniconda/base/pkgs
/Users/drew/.conda/pkgs
envs directories : /opt/homebrew/Caskroom/miniconda/base/envs
/Users/drew/.conda/envs
temporary directory : /var/folders/9j/bg17plz50cxcvt2dp4s6nmc40000gn/T
platform : osx-arm64
user-agent : conda/26.3.2 requests/2.33.1 CPython/3.13.13 Darwin/25.4.0 OSX/26.4.1 solver/libmamba conda-libmamba-solver/26.4.0 libmambapy/2.3.2 aau/0.7.6 c/. s/. e/.
UID:GID : 501:20
netrc file : None
offline mode : False
Conda Config
==> /opt/homebrew/Caskroom/miniconda/base/.condarc <==
channels:
- defaults
==> /opt/homebrew/Caskroom/miniconda/base/condarc.d/anaconda-auth.yml <==
channel_settings:
- channel: https://repo.anaconda.cloud/*
auth: anaconda-auth
==> /Users/drew/.condarc <==
channel_priority: strict
channels:
- conda-forge
- defaults
Conda list
# packages in environment at /opt/homebrew/Caskroom/miniconda/base:
#
# Name Version Build Channel
anaconda-anon-usage 0.7.6 pyhb46e38b_100 defaults
anaconda-auth 0.14.2 py313hca03da5_0 defaults
anaconda-cli-base 0.8.2 py313hca03da5_0 defaults
annotated-types 0.6.0 py313hca03da5_1 defaults
anyio 4.12.1 py313hca03da5_0 defaults
archspec 0.2.5 pyhd3eb1b0_0 defaults
boltons 25.0.0 py313hca03da5_0 defaults
brotlicffi 1.2.0.0 py313h50f4ffc_0 defaults
bzip2 1.0.8 h80987f9_6 defaults
c-ares 1.34.6 hfe05a68_0 defaults
ca-certificates 2026.3.19 hca03da5_0 defaults
certifi 2026.4.22 py313hca03da5_0 defaults
cffi 1.17.1 py313h3eb5a62_1 defaults
charset-normalizer 3.4.4 py313hca03da5_0 defaults
click 8.2.1 py313hca03da5_1 defaults
conda 26.3.2 py313hca03da5_0 defaults
conda-anaconda-telemetry 0.3.0 pyhd3eb1b0_1 defaults
conda-anaconda-tos 0.2.2 py313hca03da5_1 defaults
conda-content-trust 0.3.1 py313hca03da5_0 defaults
conda-libmamba-solver 26.4.0 pyh3785b3c_0 defaults
conda-package-handling 2.4.0 py313hca03da5_1 defaults
conda-package-streaming 0.12.0 py313hca03da5_1 defaults
cpp-expected 1.1.0 h48ca7d4_0 defaults
cryptography 45.0.7 py313h83bfa8c_0 defaults
distro 1.9.0 py313hca03da5_0 defaults
fmt 12.1.0 hc20ec9e_0 defaults
frozendict 2.4.6 py313haa24f5a_0 defaults
gettext 0.25.1 h50c8ec2_0 defaults
gettext-tools 0.25.1 h61de102_0 defaults
h11 0.16.0 py313hca03da5_1 defaults
httpcore 1.0.9 py313hca03da5_0 defaults
httpx 0.28.1 py313hca03da5_1 defaults
icu 73.1 h313beb8_0 defaults
idna 3.11 py313hca03da5_0 defaults
jansson 2.14 h80987f9_1 defaults
jaraco.classes 3.4.0 py313hca03da5_0 defaults
jaraco.context 6.1.0 py313hca03da5_0 defaults
jaraco.functools 4.4.0 py313hca03da5_0 defaults
jsonpatch 1.33 py313hca03da5_1 defaults
jsonpointer 3.1.1 py313hca03da5_0 defaults
keyring 25.7.0 py313hca03da5_0 defaults
libarchive 3.8.2 ha845c4f_0 defaults
libasprintf 0.25.1 h7b764f5_0 defaults
libasprintf-devel 0.25.1 h7b764f5_0 defaults
libbrotlicommon 1.2.0 hbd7815e_0 defaults
libbrotlidec 1.2.0 h1e834b2_0 defaults
libbrotlienc 1.2.0 h5439a07_0 defaults
libcurl 8.19.0 hc5dca5f_0 defaults
libcxx 22.1.2 hf894667_0 defaults
libev 4.33 h1a28f6b_1 defaults
libexpat 2.7.5 h50f4ffc_0 defaults
libffi 3.4.8 hcfc0b96_2 defaults
libgettextpo 0.25.1 h7b764f5_0 defaults
libgettextpo-devel 0.25.1 h7b764f5_0 defaults
libiconv 1.18 h92f5915_0 defaults
libidn2 2.3.8 h9681e36_0 defaults
libintl 0.25.1 h7b764f5_0 defaults
libintl-devel 0.25.1 h7b764f5_0 defaults
libkrb5 1.22.1 hbbdc3aa_1 defaults
libmamba 2.3.2 hccd2f93_2 defaults
libmambapy 2.3.2 py313h678a34b_2 defaults
libmpdec 4.0.0 h80987f9_0 defaults
libnghttp2 1.67.1 h8189af8_0 defaults
libsolv 0.7.30 ha443353_2 defaults
libssh2 1.11.1 h3e2b118_0 defaults
libunistring 1.3 h1799b2a_0 defaults
libxml2 2.13.9 h528a072_0 defaults
libzlib 1.3.1 hb4cf58c_1 defaults
lmdb 0.9.31 h79febb2_0 defaults
lz4-c 1.9.4 h313beb8_1 defaults
markdown-it-py 4.0.0 py313hca03da5_1 defaults
mdurl 0.1.2 py313hca03da5_0 defaults
menuinst 2.4.2 py313hca03da5_1 defaults
more-itertools 11.0.2 py313hca03da5_0 defaults
msgpack-python 1.1.1 py313h313beb8_0 defaults
ncurses 6.5 hee39554_0 defaults
nlohmann_json 3.11.2 h313beb8_0 defaults
openssl 3.5.6 ha0b305a_0 defaults
packaging 26.0 py313hca03da5_0 defaults
pcre2 10.46 h1dacb4a_0 defaults
pip 26.0.1 pyhc872135_1 defaults
pkce 1.0.3 py313hca03da5_0 defaults
platformdirs 4.9.4 py313hca03da5_0 defaults
pluggy 1.6.0 py313hca03da5_0 defaults
pybind11-abi 5 hd3eb1b0_0 defaults
pycosat 0.6.6 py313h80987f9_2 defaults
pycparser 3.0 py313hca03da5_0 defaults
pydantic 2.13.2 py313hca03da5_0 defaults
pydantic-core 2.46.2 py313h3983f12_0 defaults
pydantic-settings 2.12.0 py313hca03da5_0 defaults
pygments 2.20.0 py313hca03da5_0 defaults
pyjwt 2.12.1 py313hca03da5_0 defaults
pysocks 1.7.1 py313hca03da5_1 defaults
python 3.13.13 ha8cd034_100_cp313 defaults
python-dotenv 1.2.1 py313hca03da5_0 defaults
python.app 3 py313h80987f9_2 defaults
python_abi 3.13 3_cp313 defaults
readchar 4.2.1 py313hca03da5_0 defaults
readline 8.3 h0b18652_0 defaults
reproc 14.2.4 h313beb8_2 defaults
reproc-cpp 14.2.4 h313beb8_2 defaults
requests 2.33.1 py313hca03da5_0 defaults
rich 14.2.0 py313hca03da5_0 defaults
ruamel.yaml 0.18.16 py313h091b9d3_0 defaults
ruamel.yaml.clib 0.2.14 py313h091b9d3_0 defaults
semver 3.0.4 py313hca03da5_0 defaults
setuptools 82.0.1 py313hca03da5_0 defaults
shellingham 1.5.4 py313hca03da5_0 defaults
simdjson 3.10.1 h48ca7d4_0 defaults
sqlite 3.51.2 h67002bf_0 defaults
tk 8.6.15 hcd8a7d5_0 defaults
tomli 2.4.0 py313hca03da5_0 defaults
tomlkit 0.13.3 py313hca03da5_0 defaults
tqdm 4.67.3 py313h7eb115d_1 defaults
truststore 0.10.1 py313hca03da5_1 defaults
typer 0.20.0 py313hca03da5_1 defaults
typer-slim 0.20.0 py313hca03da5_1 defaults
typer-slim-standard 0.20.0 py313hca03da5_1 defaults
typing-extensions 4.15.0 py313hca03da5_0 defaults
typing-inspection 0.4.2 py313hca03da5_0 defaults
typing_extensions 4.15.0 py313hca03da5_0 defaults
tzdata 2026a he532380_0 defaults
urllib3 2.6.3 py313hca03da5_0 defaults
wheel 0.46.3 py313hca03da5_0 defaults
xz 5.8.2 h8bbcb1d_0 defaults
yaml-cpp 0.8.0 h313beb8_1 defaults
zlib 1.3.1 hb4cf58c_1 defaults
zstandard 0.25.0 py313hb3cf4b8_0 defaults
zstd 1.5.7 h817c040_0 defaults
Additional Context
Related but not exact reports:
Those appear related to add_pip_as_python_dependency handling in libmamba/conda-build contexts. This report is for normal conda create behavior with conda-forge and the default libmamba solver.
The base environment itself includes pip from defaults, but the repro is about newly created conda-forge environments with libmamba.
Current solver stack:
solver : libmamba (default)
user-agent : conda/26.3.2 requests/2.33.1 CPython/3.13.13 Darwin/25.4.0 OSX/26.4.1 solver/libmamba conda-libmamba-solver/26.4.0 libmambapy/2.3.2 aau/0.7.6 c/. s/. e/.
Checklist
What happened?
With
add_pip_as_python_dependency: True, creating a new environment withpython=3.11fromconda-forgeusing the defaultlibmambasolver does not installpip.The same command using
--solver=classicdoes installpip, along withsetuptools,wheel, andpackaging.This appears specific to the
libmambasolver path withconda-forgemetadata. In a separate test,libmambawithdefaultsdid includepip, whilelibmambawithconda-forgedid not.Reproducer
Config output
Actual behavior with libmamba
pipis missing.Expected / classic solver behavior
Conda Info
Conda Config
Conda list
Additional Context
Related but not exact reports:
add_pip_as_python_dependency#506add_pip_as_python_dependency(and others) ignored when run viaconda-build#393Those appear related to
add_pip_as_python_dependencyhandling in libmamba/conda-build contexts. This report is for normalconda createbehavior withconda-forgeand the defaultlibmambasolver.The base environment itself includes
pipfromdefaults, but the repro is about newly createdconda-forgeenvironments withlibmamba.Current solver stack: