conda-incubator / conda-pypi

Better PyPI interoperability for the conda ecosystem
https://conda-incubator.github.io/conda-pypi/
MIT License
12 stars 1 forks source link

Add CI for Windows #9

Closed jaimergp closed 7 months ago

jaimergp commented 7 months ago

There's an installation issue on Windows that affects conda's ability load the libmamba libraries for the solver:

WARNING  conda.plugins.manager:manager.py:134 Error while loading conda entry point: conda-libmamba-solver (The specified procedure could not be found)

Found this issue: https://github.com/mamba-org/mamba/issues/1728, but it's not very useful. This is normally a result of mismatched ABIs when mixing channels, but we are only using conda-forge here 🤷 I also tried downgrading to see if it was a 1.5.6 issue, but same error. I'll investigate in a subsequent PR. Disabling for now.

Originally posted by @jaimergp in https://github.com/jaimergp/conda-pip/issues/8#issuecomment-1874335213

larsoner commented 7 months ago

@jaimergp not sure where / how else to investigate... we also see this in MNE-Installers which uses 1.5.1 apparently

https://github.com/mne-tools/mne-installers/actions/runs/7388674807/job/20099967166?pr=238#step:5:29

jaimergp commented 7 months ago

Thanks! That's really useful. I'm assuming it's a new version of a mamba dependency that breaks something on Windows. With your setup-micromamba output I can take a better look.

jaimergp commented 7 months ago

I sorted the Pixi lockfile by timestamp and check the most recent packages:

>>> from ruamel.yaml import YAML
>>> yaml = YAML()
>>> with open("pixi.lock") as f:
...   data = yaml.load(f)
>>> for pkg in sorted(data["package"], key=lambda pkg: pkg["timestamp"], reverse=True)[:50]:
...   print(pkg["name"], pkg["version"])
... 
fmt 10.2.0
fmt 10.2.0
fmt 10.2.0
fmt 10.2.0
rapidfuzz 3.6.1
rapidfuzz 3.6.1
rapidfuzz 3.6.1
rapidfuzz 3.6.1
libmambapy 1.5.6
libmambapy 1.5.6
libmambapy 1.5.6
libmamba 1.5.6
libmamba 1.5.6
libmamba 1.5.6
libmambapy 1.5.6
libmamba 1.5.6
c-ares 1.24.0
c-ares 1.24.0
c-ares 1.24.0
pip 23.3.2
pip 23.3.2
pip 23.3.2
libiconv 1.17
libiconv 1.17
libiconv 1.17
libiconv 1.17
vs2015_runtime 14.38.33130
vc 14.3
vc14_runtime 14.38.33130
libxml2 2.12.3
libxml2 2.12.3
libxml2 2.12.3
libxml2 2.12.3
conda-libmamba-solver 23.12.0
conda-libmamba-solver 23.12.0
conda-libmamba-solver 23.12.0
conda-libmamba-solver 23.12.0
menuinst 2.0.1
menuinst 2.0.1
menuinst 2.0.1
menuinst 2.0.1
typing_extensions 4.9.0
typing_extensions 4.9.0
typing_extensions 4.9.0
libev 4.33
libev 4.33
libev 4.33
libnghttp2 1.58.0
libnghttp2 1.58.0
libnghttp2 1.58.0

Since fmt was updated today (see https://github.com/conda-forge/fmt-feedstock/pull/39) and is in the libmamba dependency tree (see metadata), I checked whether skipping fmt 10.2.0 resolves it. As per https://github.com/jaimergp/conda-pip/pull/10, it does!

So for now pin fmt to 10.1.* in your CI @larsoner. I'll add a repodata patch in conda-forge.

larsoner commented 7 months ago

Awesome @jaimergp !