csdms / bmi-tester

Test a BMI in Python
https://bmi-tester.readthedocs.io
MIT License
1 stars 4 forks source link

pmt_hydrotrend example doesn't work with python 3.13 (but does with 3.11 - so may need to pin that version in the conda environment) #47

Open dorchard opened 2 days ago

dorchard commented 2 days ago

I followed the steps in the README.md to install bmi-tester and the pymt_hydrotrend example to test it. However running:

conda install pymt_hydrotrend -c conda-forge

yields:

LibMambaUnsatisfiableError: Encountered problems while solving:
  - package pymt_hydrotrend-0.2.2-py310ha11ecec_3 requires python >=3.10,<3.11.0a0 *_cpython, but none of the providers can be installed

Could not solve for environment specs
The following packages are incompatible
├─ pin-1 is installable and it requires
│  └─ python 3.13.* , which can be installed;
└─ pymt_hydrotrend is not installable because there are no viable options
   ├─ pymt_hydrotrend 0.2.2 would require
   │  └─ python >=3.10,<3.11.0a0 *_cpython, which conflicts with any installable versions previously reported;
   ├─ pymt_hydrotrend 0.2.2 would require
   │  └─ python >=3.11,<3.12.0a0 *_cpython, which conflicts with any installable versions previously reported;
   ├─ pymt_hydrotrend 0.2.2 would require
   │  └─ python >=3.8,<3.9.0a0 *_cpython, which conflicts with any installable versions previously reported;
   └─ pymt_hydrotrend 0.2.2 would require
      └─ python >=3.9,<3.10.0a0 *_cpython, which conflicts with any installable versions previously reported.

The problem seems to be that if you setup the conda environment with python=3 that it chooses the latest python (3.13) which pymt_hydrotrend is not compatible with.

So instead I tried:

conda create -n bmi-tester python=3.11
conda activate
conda install pymt_hydrotrend -c conda-forge

which seems to work.

mdpiper commented 2 days ago

A bunch of the pymt components need updating, and this is one of them! I'm linking this issue with https://github.com/csdms/pymt/issues/177, where I've been tracking the updates.