Closed marsipu closed 2 years ago
It seems as if mne is installed from linux-64
and not noarch
.
But when I try conda create --n mne -c conda-forge/noarch mne
, the version is even lower (mne==0.16.2
)
That is very strange, is your conda
up to date?
Yes, conda==4.12.0
.
I also tried conda clean --all
, but that didn't help.
This was reported on the forum too and I'm planning to look into it this weekend.
@marsipu A temporary workaround is to explicitly specify the package version, as in
conda create --name mne --channel conda-forge mne=1.0.2
@marsipu Could you please try to create the environment with mamba
instead of conda
and see if you run into the same issue?
@marsipu Could you please share with me the output of
conda info
and
conda config --show channel_priority
Thanks!
@larsoner Could you try the following to see if you'll run into the same issue?
mamba create -n mne-installation-test
mamba activate mne-installation-test
echo "channel_priority: flexible\nchannels:\n - main" > $CONDA_PREFIX/.condarc
mamba create --name mne-test --channel conda-forge mne
The idea is to create a situation that resembles the default behavior of conda
on systems where Miniconda
or Anaconda
was installed – I've been using Miniforge
and Mambaforge` for years now so things behave differently there.
My guess is that the channel_priority
is the problem. By default, it's flexible
, and if the user didn't use Miniconda
or Miniforge
, the main
channels are part of the "package source mix", and there might be situations where the solver finds it easier to pull in certain dependencies from main
than from conda-forge
, with odd consequences.
The conda-forge
docs explicitly mention that one should set channel_priority
to strict
, probably to avoid exactly these issues.
active environment : base
active env location : /home/martins/miniconda3
shell level : 1
user config file : /home/martins/.condarc
populated config files :
conda version : 4.12.0
conda-build version : not installed
python version : 3.7.7.final.0
virtual packages : __cuda=11.4=0
__linux=5.13.0=0
__glibc=2.31=0
__unix=0=0
__archspec=1=x86_64
base environment : /home/martins/miniconda3 (writable)
conda av data dir : /home/martins/miniconda3/etc/conda
conda av metadata url : None
channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/linux-64
https://repo.anaconda.com/pkgs/r/noarch
package cache : /home/martins/miniconda3/pkgs
/home/martins/.conda/pkgs
envs directories : /home/martins/miniconda3/envs
/home/martins/.conda/envs
platform : linux-64
user-agent : conda/4.12.0 requests/2.27.1 CPython/3.7.7 Linux/5.13.0-40-generic ubuntu/20.04.4 glibc/2.31
UID:GID : 1001:1001
netrc file : None
offline mode : False
channel-priority: flexible
@marsipu Can you run:
conda config --set channel_priority strict
and try again to create the MNE environment?
Yes, this seems to solve the problem.
But it seems that the default value for channel_priority
in conda is flexible
. Should we warn about this in the docs?
Ok, cool, thanks for checking!
The default will change to strict in conda 5.0, but I'm not sure when this will be released. So until then, we should amend the docs, yes.
Describe the bug
The installation of mne via conda commands on Linux doesn't install the newest version.
Steps to reproduce
Expected result
currently
mne==1.0.2
Actual result
mne==0.23.4
mne sys_info