forked from conda/conda-dot-org
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update
conda doctor
Blog Post (conda#141)
* Update conda doctor blog post * Add image and image credits * Update article publish date, update news
- Loading branch information
Showing
3 changed files
with
30 additions
and
7 deletions.
There are no files selected for viewing
35 changes: 29 additions & 6 deletions
35
blog/2023-05-11-conda-doctor.md → blog/2023-06-01-conda-doctor.mdx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,32 +1,55 @@ | ||
--- | ||
title: "conda doctor: Detecting conda environment inconsistencies easily" | ||
slug: "2023-05-11-conda-doctor" | ||
title: "Conda doctor: Detecting conda environment inconsistencies easily" | ||
slug: "2023-06-01-conda-doctor" | ||
description: | | ||
The new `conda doctor` command allows users to detect packages with missing files in their conda environments. | ||
authors: [forgottenprogramme] | ||
tags: [conda, environments] | ||
image: img/blog/2023-06-01-conda-doctor/stethoscope.jpg | ||
|
||
--- | ||
The newest `conda doctor` command will be available with the latest conda 23.5.0, enabling conda users to quickly detect corrupted packages (packages with files missing) in their conda environment. | ||
|
||
import Image from '@theme/IdealImage'; | ||
import condadoctor from '@site/static/img/blog/2023-06-01-conda-doctor/stethoscope.jpg'; | ||
|
||
<Image img={condadoctor} alt="Banner image for blog post; picture of a stethoscope"/> | ||
|
||
<hr /> | ||
|
||
<p> | ||
<i> | ||
Photo by Roman Valiev on <a href="https://www.istockphoto.com/stock-photos">Getty Images/iStockphoto</a> | ||
</i> | ||
</p> | ||
|
||
--- | ||
|
||
The newest `conda doctor` command will be available with conda version 23.5.0, enabling users to quickly detect corrupted packages (packages with files missing) in their conda environment. | ||
|
||
One way packages in an environment may become corrupt is when one or more files in that package are accidentally deleted. Even a single missing file leads to a corrupted package. | ||
Until now there was no way to learn of these missing files except manually checking for their existence. With `conda doctor`, users can learn about all such packages in their conda environment with a single short command. | ||
Until now there was no way to learn of these missing files except manually checking for their existence. With `conda doctor`, users can learn about all such packages in their conda environment with a single short command. | ||
|
||
<!-- truncate --> | ||
|
||
## How Does It Work? | ||
|
||
Every conda environment has a `conda-meta` directory associated with it, which keeps a log of all the packages (and all the files in them) ever installed into that environment. | ||
`conda doctor` parses these metadata files, checks for the existence of each of the listed files, and reports the missing ones. | ||
This is extremely helpful, as it is otherwise very difficult to know that a package has missing files and to detect these missing files in the package. | ||
|
||
## The Plugin Mechanism | ||
|
||
`conda doctor` is implemented using conda’s new [plugins mechanism](https://www.anaconda.com/blog/introducing-a-new-plugin-mechanism-for-conda/), utilizing the "subcommand plugin hook", and comes bundled with conda itself. | ||
|
||
Often the issues that conda users run into are issues in their conda environment. The idea behind implementing a `conda doctor` command is to "diagnose" the inconsistencies in a conda environment and report to the user, therefore empowering the user to better understand the cause of the issues they are experiencing. | ||
|
||
## A Nine Year Old Issue | ||
|
||
What’s interesting is that [this feature was requested by Peter Wang](https://github.com/conda/conda/issues/474), the CEO of Anaconda, nine years ago in the early days of conda. A number of features requested via this `conda doctor` issue back then ended up being implemented elsewhere in conda over the years. | ||
`conda doctor` was eventually boiled down to “a command that will diagnose the health of the environment and report inconsistencies to the user”. | ||
|
||
## Health Checks | ||
|
||
We designed the `conda doctor` functionality to have various “health checks” for the user’s environment. The first health check implemented and made available to users in this release is “detect missing files in packages”. More health checks will be made available in `conda doctor` in future releases. | ||
Go check out the new `conda doctor` command and do let us know of any “health checks” you would like `conda doctor` to have that would improve your `conda` experience. | ||
You can do so by opening a feature request on the [conda GitHub repository](https://github.com/conda/conda). | ||
|
||
Go check out the new `conda doctor` command and let us know of any “health checks” you would like `conda doctor` to have that would improve your conda experience. You can do so by opening a feature request on the [conda GitHub repository](https://github.com/conda/conda). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
[{"title": "May Releases for Conda, Conda-Build, and Conda-Libmamba-Solver", "slug": "2023-05-31-may-2023-releases", "description": "Conda 23.5.0, conda-build 3.25.0, and conda-libmamba-solver 23.5.0 have been released! \ud83c\udf89\n", "authors": ["beeankha"], "tags": ["announcement", "conda", "conda-build", "conda-libmamba-solver"], "image": "img/blog/2023-05-31-may-releases/tada.jpg", "date": "2023-05-31T00:00:00"}, {"title": "How to use conda-build to build a Python package with C/C++ dependencies", "slug": "2023-05-18-how-to-use-conda-build", "authors": ["vasvi"], "tags": ["conda"], "image": null, "description": "We have created a blog to help you create your own Python package with Conda-build", "date": "2023-05-18T00:00:00"}, {"title": "conda doctor: Detecting conda environment inconsistencies easily", "slug": "2023-05-11-conda-doctor", "description": "The new `conda doctor` command allows users to detect packages with missing files in their conda environments.\n", "authors": ["forgottenprogramme"], "tags": ["conda", "environments"], "date": "2023-05-11T00:00:00", "image": null}, {"title": "How we reduced conda's index fetch bandwidth by 99%", "slug": "2023-05-05-how-we-reduced-the-conda-index-fetch-bandwidth", "description": "The new conda 23.3.1 release from March, 2023 includes an --experimental=jlap\nflag or experimental: [\"jlap\"] .condarc setting that can reduce repdata.json\nfetch bandwidth by orders of magnitude. This is how we developed conda's new\nincremental repodata feature.\n", "authors": ["dholth"], "tags": ["conda", "python"], "image": null, "date": "2023-05-05T00:00:00"}, {"title": "Welcome to conda.org!", "slug": "2022-04-27-welcome-to-conda-dot-org", "tags": ["announcement"], "authors": ["travishathaway"], "description": "Welcome to our new website! In this article, we talk about why we built\nit and where we see it going as more content and features are added in\nthe future.\n", "image": null, "date": "2023-04-27T00:00:00"}] | ||
[{"title": "Conda doctor: Detecting conda environment inconsistencies easily", "slug": "2023-06-01-conda-doctor", "description": "The new `conda doctor` command allows users to detect packages with missing files in their conda environments.\n", "authors": ["forgottenprogramme"], "tags": ["conda", "environments"], "image": "img/blog/2023-06-01-conda-doctor/stethoscope.jpg", "date": "2023-06-01T00:00:00"}, {"title": "May Releases for Conda, Conda-Build, and Conda-Libmamba-Solver", "slug": "2023-05-31-may-2023-releases", "description": "Conda 23.5.0, conda-build 3.25.0, and conda-libmamba-solver 23.5.0 have been released! \ud83c\udf89\n", "authors": ["beeankha"], "tags": ["announcement", "conda", "conda-build", "conda-libmamba-solver"], "image": null, "date": "2023-05-31T00:00:00"}, {"title": "How to use conda-build to build a Python package with C/C++ dependencies", "slug": "2023-05-18-how-to-use-conda-build", "authors": ["vasvi"], "tags": ["conda"], "image": null, "description": "We have created a blog to help you create your own Python package with Conda-build", "date": "2023-05-18T00:00:00"}, {"title": "How we reduced conda's index fetch bandwidth by 99%", "slug": "2023-05-05-how-we-reduced-the-conda-index-fetch-bandwidth", "description": "The new conda 23.3.1 release from March, 2023 includes an --experimental=jlap\nflag or experimental: [\"jlap\"] .condarc setting that can reduce repdata.json\nfetch bandwidth by orders of magnitude. This is how we developed conda's new\nincremental repodata feature.\n", "authors": ["dholth"], "tags": ["conda", "python"], "image": null, "date": "2023-05-05T00:00:00"}, {"title": "Welcome to conda.org!", "slug": "2022-04-27-welcome-to-conda-dot-org", "tags": ["announcement"], "authors": ["travishathaway"], "description": "Welcome to our new website! In this article, we talk about why we built\nit and where we see it going as more content and features are added in\nthe future.\n", "image": null, "date": "2023-04-27T00:00:00"}] |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.