Back to Article List

How to update Miniconda and conda safely

How to update Miniconda and conda safely - How to update Miniconda and conda safely

"Update Miniconda" covers three separate maintenance jobs that people constantly run into each other: updating conda itself, updating the packages inside an environment, and refreshing a whole install by rerunning a newer installer over it. They use different commands and go wrong in different ways. Miniconda the installer, for what it's worth, has no update of its own; it's a snapshot of conda plus one Python, and once it has run, its job is over. Here are the three real updates, in the order you'll meet them.

Update conda in the base environment

Conda updates itself, and it happens in base because that's where conda lives:

conda update -n base conda

This is the exact form the official conda documentation gives today. Older guides, and years of Anaconda's own docs, tack a -c defaults onto the end, and the current docs dropped it for a reason worth understanding: the flag forces the update to come from Anaconda's defaults repository. On a stock Miniconda install that changes nothing, since defaults is already the configured channel. On an install you've pointed at conda-forge, though, it quietly drags base back toward the commercially licensed repo, and depending on your organization's size that has licensing consequences (more below).

Before touching anything, conda prints the plan of what it intends to change. Reading that plan instead of scrolling past it has saved me from more bad updates than any other habit I can name.

Why you update conda but rarely Miniconda

conda --version tells you what you're running, and if that number is current, the install is current, regardless of how old the installer that created it was. A Miniconda install from 2023 that has kept conda updated is functionally the same as one made from last month's installer, aside from the Python sitting in base, which project work shouldn't be using anyway (the guide on how to create and manage Miniconda environments makes that argument in full). New installer releases matter when you're setting up new machines. They ask nothing of existing installs.

Your idea deserves better hosting

24/7 support 30-day money-back guaranteeRefund covers the VPS plan on your first order. Cancel anytime
Billing Cycle

VPS.S1

23.36 zł Save  17 %
19.46 zł Monthly
  • 2 vCPU AMD EPYC
  • 2 GB RAMMEMORY
  • 30 GB NVMeSTORAGE
  • Unmetered bandwidth
  • IPv4 & IPv6IPv6 is currently unavailable in France, Finland or the Netherlands. included

VPS.S3

58.46 zł Save  33 %
38.96 zł Monthly
  • 4 vCPU AMD EPYC
  • 6 GB RAMMEMORY
  • 70 GB NVMeSTORAGE
  • Unmetered bandwidth
  • IPv4 & IPv6IPv6 is currently unavailable in France, Finland or the Netherlands. included

VPS.S4

77.96 zł Save  20 %
62.36 zł Monthly
  • 6 vCPU AMD EPYC
  • 8 GB RAMMEMORY
  • 80 GB NVMeSTORAGE
  • Unmetered bandwidth
  • IPv4 & IPv6IPv6 is currently unavailable in France, Finland or the Netherlands. included

EPYC VPS.P1

35.06 zł Save  22 %
27.26 zł Monthly
  • 2 vCPU AMD EPYC
  • 4 GB RAMMEMORY
  • 40 GB NVMeSTORAGE
  • Unmetered bandwidth
  • IPv4 & IPv6IPv6 is currently unavailable in France, Finland or the Netherlands. included
  • Free auto backupsIncludes one backup slot you can set to run daily, weekly or monthly.

EPYC VPS.P2

66.26 zł Save  24 %
50.66 zł Monthly
  • 2 vCPU AMD EPYC
  • 8 GB RAMMEMORY
  • 80 GB NVMeSTORAGE
  • Unmetered bandwidth
  • IPv4 & IPv6IPv6 is currently unavailable in France, Finland or the Netherlands. included
  • Free auto backupsIncludes one backup slot you can set to run daily, weekly or monthly.

EPYC VPS.P4

116.95 zł Save  23 %
89.66 zł Monthly
  • 4 vCPU AMD EPYC
  • 16 GB RAMMEMORY
  • 160 GB NVMeSTORAGE
  • Unmetered bandwidth
  • IPv4 & IPv6IPv6 is currently unavailable in France, Finland or the Netherlands. included
  • Free auto backupsIncludes one backup slot you can set to run daily, weekly or monthly.

EPYC VPS.P5

155.95 zł Save  25 %
116.95 zł Monthly
  • 8 vCPU AMD EPYC
  • 16 GB RAMMEMORY
  • 180 GB NVMeSTORAGE
  • Unmetered bandwidth
  • IPv4 & IPv6IPv6 is currently unavailable in France, Finland or the Netherlands. included
  • Free auto backupsIncludes one backup slot you can set to run daily, weekly or monthly.

EPYC VPS.P6

233.95 zł Save  25 %
175.45 zł Monthly
  • 8 vCPU AMD EPYC
  • 32 GB RAMMEMORY
  • 200 GB NVMeSTORAGE
  • Unmetered bandwidth
  • IPv4 & IPv6IPv6 is currently unavailable in France, Finland or the Netherlands. included
  • Free auto backupsIncludes one backup slot you can set to run daily, weekly or monthly.

EPYC VPS.P7

272.95 zł Save  29 %
194.95 zł Monthly
  • 16 vCPU AMD EPYC
  • 32 GB RAMMEMORY
  • 240 GB NVMeSTORAGE
  • Unmetered bandwidth
  • IPv4 & IPv6IPv6 is currently unavailable in France, Finland or the Netherlands. included
  • Free auto backupsIncludes one backup slot you can set to run daily, weekly or monthly.

Genoa VPS.G2

97.46 zł Save  20 %
77.96 zł Monthly
  • 2 vCPUAMD EPYC Genoa 4th generation 9xx4 with 3.25 GHz or similar, on Zen 4 architecture. AMD EPYC G4
  • 4 GB DDR5MEMORY
  • 50 GB NVMeSTORAGE
  • Unmetered bandwidth
  • IPv4 & IPv6IPv6 is currently unavailable in France, Finland or the Netherlands. included
  • Free auto backupsIncludes one backup slot you can set to run daily, weekly or monthly.

Genoa VPS.G4

175.45 zł Save  22 %
136.45 zł Monthly
  • 4 vCPUAMD EPYC Genoa 4th generation 9xx4 with 3.25 GHz or similar, on Zen 4 architecture. AMD EPYC G4
  • 8 GB DDR5MEMORY
  • 100 GB NVMeSTORAGE
  • Unmetered bandwidth
  • IPv4 & IPv6IPv6 is currently unavailable in France, Finland or the Netherlands. included
  • Free auto backupsIncludes one backup slot you can set to run daily, weekly or monthly.

Genoa VPS.G6

350.94 zł Save  22 %
272.95 zł Monthly
  • 8 vCPUAMD EPYC Genoa 4th generation 9xx4 with 3.25 GHz or similar, on Zen 4 architecture. AMD EPYC G4
  • 16 GB DDR5MEMORY
  • 200 GB NVMeSTORAGE
  • Unmetered bandwidth
  • IPv4 & IPv6IPv6 is currently unavailable in France, Finland or the Netherlands. included
  • Free auto backupsIncludes one backup slot you can set to run daily, weekly or monthly.

Genoa VPS.G7

623.93 zł Save  22 %
487.43 zł Monthly
  • 8 vCPUAMD EPYC Genoa 4th generation 9xx4 with 3.25 GHz or similar, on Zen 4 architecture. AMD EPYC G4
  • 32 GB DDR5MEMORY
  • 250 GB NVMeSTORAGE
  • Unmetered bandwidth
  • IPv4 & IPv6IPv6 is currently unavailable in France, Finland or the Netherlands. included
  • Free auto backupsIncludes one backup slot you can set to run daily, weekly or monthly.

AMD Ryzen VPS.R1

66.26 zł Save  18 %
54.56 zł Monthly
  • 1 dedicated CPU AMD Ryzen 9 7950X with 4.5 GHz or similar, on Zen 4 architecture. vCPU
  • 4 GB DDR5MEMORY
  • 50 GB NVMeSTORAGE
  • Unmetered bandwidth
  • IPv4 & IPv6 included IPv6 support is currently unavailable in France, Finland or the Netherlands.
  • Auto backup included

AMD Ryzen VPS.R2

116.95 zł Save  17 %
97.46 zł Monthly
  • 2 dedicated CPUs AMD Ryzen 9 7950X with 4.5 GHz or similar, on Zen 4 architecture. vCPU
  • 8 GB DDR5MEMORY
  • 100 GB NVMeSTORAGE
  • Unmetered bandwidth
  • IPv4 & IPv6 included IPv6 support is currently unavailable in France, Finland or the Netherlands.
  • Auto backup included

AMD Ryzen VPS.R4

428.94 zł Save  18 %
350.94 zł Monthly
  • 8 dedicated CPUs AMD Ryzen 9 7950X with 4.5 GHz or similar, on Zen 4 architecture. vCPU
  • 32 GB DDR5MEMORY
  • 400 GB NVMeSTORAGE
  • Unmetered bandwidth
  • IPv4 & IPv6 included IPv6 support is currently unavailable in France, Finland or the Netherlands.
  • Auto backup included

*VAT excluded.

INCLUDED WITH EVERY PLAN

✓ No setup fees ✓1 Gbps network
✓ Full root access on KVM ✓ Free server monitoring ✓ Firewall management ✓24/7 support

Update packages inside an environment

Package updates are scoped per environment and never touch base or your other envs:

conda update --all -n myproject

A warning from experience about --all: it hands the solver a blank check. To satisfy every constraint at once it will sometimes downgrade packages, swap one channel's build for another's or rearrange dependencies you considered settled, announcing all of it in a plan most people never read. My own practice is updating the one or two packages I need (conda update -n myproject numpy) and reserving --all for envs where nothing is precious. A plan that looks strange gets a no, and at that point nothing has happened yet.

Export environment.yml before big updates

Before any update wider than a single package:

conda env export -n myproject > myproject-backup.yml

Ten seconds. If the update lands badly, you delete the env and rebuild it from the file, which beats trying to reverse-engineer what the solver did every single time I've compared the two.

Reinstall over the same prefix with the -u flag

Sometimes the right move is a newer installer run on top of the existing install, and the .sh installer supports exactly that:

bash Miniconda3-latest-Linux-x86_64.sh -u -p ~/miniconda3

-u updates an existing installation at the given prefix, refreshing base and its bundled Python while the envs/ directory stays untouched. The current installer comes from repo.anaconda.com/miniconda, and picking the right file for your platform is what the Miniconda download guide exists for. Two situations call for this route: an install so old that conda can no longer update itself across some transition, or a base environment wrecked by years of things being installed into it against all advice. Export your environments first even so. The flag is well-behaved, but well-behaved and guaranteed are different words.

The .condarc change in Miniconda 24.9.2

One update-adjacent change tends to catch long-time users. Since Miniconda 24.9.2 the installer writes a .condarc that names Anaconda's channels explicitly, where older installs leaned on conda's implicit defaults. So when an older install starts printing deprecation warnings about channel configuration after a conda update, that's the mismatch: newer conda wants the channel choice written down, and your config predates the convention. An explicit channels: block in ~/.condarc, pointing at defaults or at conda-forge, resolves it. Which of those two you point at is a real decision, since pulling from Anaconda's repo carries terms once an organization passes 200 employees; the details live in the guide to the Miniconda license and commercial use.

And when that reading pushes you toward conda-forge permanently, config surgery isn't the only path. It can be cleaner to uninstall Miniconda and start over with Miniforge, which defaults to conda-forge from its first command and leaves nothing behind to warn about.

Questions?

Does updating conda touch my environments?

No. The update runs in base and changes conda plus its dependencies there, while everything under envs/ stays byte-for-byte as it was. This is a large part of the case for keeping project work out of base: it makes conda updates consequence-free.

About the author

Alice Langley

I got my first writing work through open-source projects. Before anybody paid me, I was the person rewriting installation notes, answering the same question in Discord for the 25th time and fixing READMEs because the instructions were driving me mad. I was studying then and honestly didn't know technical writing was a job.

But now it's MY job: mostly tutorials, occasionally docs, KBs, sometimes editing. I work freelance. The non-computer part of my life is fairly crowded. I make cosplay costumes and props (sewing is the bit I'm best at, wigs are a different story for now), watch a lot of horror films and have recently started learning bookbinding from somebody who is much more patient than I am.

Deploy your next project in seconds

Bring your winning ideas online faster, with modern hardware and unmetered bandwidth. Join a European cloud trusted by thousands of developers and businesses worldwide.