Closed kcpevey closed 8 months ago
@kcpevey
Thanks for your report! The relevant commit is de5c7b4, PR #693. It's also part of 2024.1.1-rc1
.
Note that playwright is not available on defaults or conda-forge. This environment builds successfully.
This is because it's part of the Microsoft
channel, see:
https://anaconda.org/search?q=playwright
Contents of conda log file on Nebari: [...]
It's not the full log. There should be more relevant information after the conda
config commands.
I've just built your environment locally with conda-store on the same tag, it prints the following:
CONDA_FLAGS=--strict-channel-priority
This is the same as setting strict
via the config. It's used in action_solve_lockfile
, which uses conda-lock.
The reason we do it this way is because conda-store needs to work in standalone mode. We don't modify global configuration options because it might interfere with user settings.
Also, there might be some confusion with what "strict" actually means. From the docs:
With strict channel priority, packages in lower priority channels are not considered if a package with the same name appears in a higher priority channel.
Note the "appears" part. This doesn't say anything about packages that are missing from the high priority channel.
So it just uses the first channel where the package is available, which is Microsoft
in this case.
To be sure, I've also successfully built the same environment locally directly with conda
, using strict
:
cat env.yaml:
channels:
- conda-forge
- Microsoft
dependencies:
- playwright
- ipykernel
- pip:
- nothing
description: ''
name: test1
prefix: null
% conda config --get channel_priority
--set channel_priority strict
% conda env create -f env.yaml
If you remove Microsoft
from the channels list, the environment will fail to solve.
This command can be used to check the channel that was used to install the package:
% conda list --explicit | grep playwright
https://conda.anaconda.org/Microsoft/linux-64/playwright-1.41.1-py312_0.tar.bz2
So it seems to me this is working as intended. I'm going to close this issue. Please feel free to reopen if you think that more work is needed here.
Describe the bug
In the output logs from Nebari, the channel priority is set to
flexible
. I also see that the channel list only includesdefaults
for an env where I asked for a specific channel (see sample env below). This makes me think that the config displayed is not the one that conda-store is using. If that is the case, then this can be closed and the issue becomes displaying the correct config info.Expected behavior
I expect the channel priority to be set to
strict
on conda-store.How to Reproduce the problem?
Create test env:
Note that playwright is not available on
defaults
orconda-forge
. This environment builds successfully.Output
Contents of conda log file on Nebari:
Versions and dependencies used.
conda-store-server:2024.1.1-rc1
Anything else?
No response