Closed JacksonBurns closed 5 months ago
This pull request is being automatically marked as stale because it has not received any interaction in the last 90 days. Please leave a comment if this is still a relevant pull request, otherwise it will automatically be closed in 30 days.
I just rebased this, to see what would happen. It sounds like getting past Python 3.7 is needed for https://github.com/ReactionMechanismGenerator/RMG-Py/pull/2640 etc.
Thanks!
Currently the runners are not providing any useful info, I think because conda
cannot immediately solve the environment, so it attempts to go through its diagnostics and figure out why to suggest fixes, and that takes too long since the fixes are super complex.
Manually checking makes me think that we will definitely need to deal with these:
That leaves PyDAS, PyDQED, and Symmetry? For the latter, how far did you get with #2461 ? I notice you found someone maintaining a newer version or something? is it the same?
I fixed our existing recipe for symmetry on https://github.com/ReactionMechanismGenerator/conda-recipes/pull/18 but forgot about this more updated version - do we want to stick with the existing or try the new one?
If you got ours working again then maybe we change one thing at a time, and stick with it for now? If someone wants to look into why the other might be better, that's great, but IMHO should not impede other progress or become a pre-requisite to things.
Try relaxing Cantera to >=2.6 ?
Cantera 2.6 actually does have a python 3.11 build: linux-aarch64/libcantera-2.6.0-py311h4136c43_5.tar.bz2
So I think that one is ok
You were right @rwest this was part of the issue!
A manual scroll through the anaconda repo list shows that a ton of packages are missing 3.12, so we can go ahead and give up on that for now...
The good news is that the solver finally spat out something useful, in this case the following conflicts for the 3.11 environment on linux without our packages:
The following packages are incompatible
├─ cantera 2.6* is installable with the potential options
│ ├─ cantera 2.6.0 would require
│ │ └─ python >=3.10,<3.11.0a0 with the potential options
│ │ ├─ python [3.10.0|3.10.3|3.10.4|3.10.6|3.10.8] would require
│ │ │ └─ libuuid >=1.0.3,<2.0a0 , which can be installed;
│ │ ├─ python [3.10.10|3.10.11|...|3.10.9] would require
│ │ │ └─ libuuid >=1.41.5,<2.0a0 , which can be installed;
│ │ ├─ python [3.10.0|3.10.1|...|3.10.9], which can be installed;
│ │ ├─ python 3.10.2 would require
│ │ │ └─ ncurses >=6.2,<6.3.0a0 , which can be installed;
│ │ └─ python [3.10.11|3.10.12|...|3.9.19] would require
│ │ └─ libuuid >=2.38.1,<3.0a0 , which conflicts with any installable versions previously reported;
│ ├─ cantera 2.6.0 would require
│ │ └─ python >=3.7,<3.8.0a0 , which can be installed;
│ ├─ cantera 2.6.0 would require
│ │ └─ python >=3.8,<3.9.0a0 with the potential options
│ │ ├─ python [3.10.11|3.10.12|...|3.9.19], which cannot be installed (as previously explained);
│ │ └─ python [3.8.0|3.8.1|...|3.8.8], which can be installed;
│ └─ cantera 2.6.0 would require
│ └─ python >=3.9,<3.10.0a0 with the potential options
│ ├─ python [3.10.11|3.10.12|...|3.9.19], which cannot be installed (as previously explained);
│ └─ python [3.9.0|3.9.1|...|3.9.9], which can be installed;
├─ ncurses is installable with the potential options
│ ├─ ncurses 6.3 conflicts with any installable versions previously reported;
│ ├─ ncurses 6.4 conflicts with any installable versions previously reported;
│ ├─ ncurses [6.4.20240210|6.5] conflicts with any installable versions previously reported;
│ ├─ ncurses [5.9|6.1], which can be installed;
│ └─ ncurses 6.2, which can be installed;
└─ python 3.11.*,3.11.* is not installable because there are no viable options
├─ python 3.11.0 would require
│ └─ ncurses >=6.3,<7.0a0 , which conflicts with any installable versions previously reported;
├─ python 3.11.0 would require
│ ├─ libuuid >=1.41.5,<2.0a0 , which can be installed;
│ └─ ncurses >=6.3,<7.0a0 , which conflicts with any installable versions previously reported;
├─ python [3.11.0|3.11.2|...|3.11.9] would require
│ ├─ libuuid >=1.41.5,<2.0a0 , which can be installed;
│ └─ ncurses >=6.4,<7.0a0 , which conflicts with any installable versions previously reported;
├─ python 3.11.0 would require
│ └─ ncurses >=6.3,<7.0a0 , which conflicts with any installable versions previously reported;
├─ python [3.11.1|3.11.2|3.11.3] would require
│ ├─ libuuid >=2.38.1,<3.0a0 , which conflicts with any installable versions previously reported;
│ └─ ncurses >=6.3,<7.0a0 , which conflicts with any installable versions previously reported;
├─ python [3.11.4|3.11.5|3.11.6|3.11.7|3.11.8] would require
│ ├─ libuuid >=2.38.1,<3.0a0 , which conflicts with any installable versions previously reported;
│ └─ ncurses >=6.4,<7.0a0 , which conflicts with any installable versions previously reported;
└─ python 3.11.9 would require
├─ libuuid >=2.38.1,<3.0a0 , which conflicts with any installable versions previously reported;
└─ ncurses >=6.4.20240210,<7.0a0 , which conflicts with any installable versions previously reported.
LibMambaUnsatisfiableError: Encountered problems while solving:
- package cantera-2.6.0-py310h6cd0baa_0 requires python >=3.10,<3.11.0a0, but none of the providers can be installed
Could not solve for environment specs
The following packages are incompatible
├─ cantera 2.6* is installable with the potential options
│ ├─ cantera 2.6.0 would require
│ │ └─ python >=3.10,<3.11.0a0 with the potential options
│ │ ├─ python [3.10.0|3.10.3|3.10.4|3.10.6|3.10.8] would require
│ │ │ └─ libuuid >=1.0.3,<2.0a0 , which can be installed;
│ │ ├─ python [3.10.10|3.10.11|...|3.10.9] would require
│ │ │ └─ libuuid >=1.41.5,<2.0a0 , which can be installed;
│ │ ├─ python [3.10.0|3.10.1|...|3.10.9], which can be installed;
│ │ ├─ python 3.10.2 would require
│ │ │ └─ ncurses >=6.2,<6.3.0a0 , which can be installed;
│ │ └─ python [3.10.11|3.10.12|...|3.9.19] would require
│ │ └─ libuuid >=2.38.1,<3.0a0 , which conflicts with any installable versions previously reported;
│ ├─ cantera 2.6.0 would require
│ │ └─ python >=3.7,<3.8.0a0 , which can be installed;
│ ├─ cantera 2.6.0 would require
│ │ └─ python >=3.8,<3.9.0a0 with the potential options
│ │ ├─ python [3.10.11|3.10.12|...|3.9.19], which cannot be installed (as previously explained);
│ │ └─ python [3.8.0|3.8.1|...|3.8.8], which can be installed;
│ └─ cantera 2.6.0 would require
│ └─ python >=3.9,<3.10.0a0 with the potential options
│ ├─ python [3.10.11|3.10.12|...|3.9.19], which cannot be installed (as previously explained);
│ └─ python [3.9.0|3.9.1|...|3.9.9], which can be installed;
├─ ncurses is installable with the potential options
│ ├─ ncurses 6.3 conflicts with any installable versions previously reported;
│ ├─ ncurses 6.4 conflicts with any installable versions previously reported;
│ ├─ ncurses [6.4.20240210|6.5] conflicts with any installable versions previously reported;
│ ├─ ncurses [5.9|6.1], which can be installed;
│ └─ ncurses 6.2, which can be installed;
└─ python 3.11.*,3.11.* is not installable because there are no viable options
├─ python 3.11.0 would require
│ └─ ncurses >=6.3,<7.0a0 , which conflicts with any installable versions previously reported;
├─ python 3.11.0 would require
│ ├─ libuuid >=1.41.5,<2.0a0 , which can be installed;
│ └─ ncurses >=6.3,<7.0a0 , which conflicts with any installable versions previously reported;
├─ python [3.11.0|3.11.2|...|3.11.9] would require
│ ├─ libuuid >=1.41.5,<2.0a0 , which can be installed;
│ └─ ncurses >=6.4,<7.0a0 , which conflicts with any installable versions previously reported;
├─ python 3.11.0 would require
│ └─ ncurses >=6.3,<7.0a0 , which conflicts with any installable versions previously reported;
├─ python [3.11.1|3.11.2|3.11.3] would require
│ ├─ libuuid >=2.38.1,<3.0a0 , which conflicts with any installable versions previously reported;
│ └─ ncurses >=6.3,<7.0a0 , which conflicts with any installable versions previously reported;
├─ python [3.11.4|3.11.5|3.11.6|3.11.7|3.11.8] would require
│ ├─ libuuid >=2.38.1,<3.0a0 , which conflicts with any installable versions previously reported;
│ └─ ncurses >=6.4,<7.0a0 , which conflicts with any installable versions previously reported;
└─ python 3.11.9 would require
├─ libuuid >=2.38.1,<3.0a0 , which conflicts with any installable versions previously reported;
Ok so the new problem is muq
. It requires an absurdly specific version of the boost library (boost-cpp >=1.72.0,<1.72.1.0a0
) which is totally incompatible with rdkit (or at least, the version which we have specified in our environment file which @xiaoruiDong and I discovered to be less buggy than previous versions in #2553), which only restricts to minor versions rather than patches but hasn't supported 1.72
for a long time.
I'm going to comment out muq
for the time being. We do actually say that is is optional... https://github.com/ReactionMechanismGenerator/RMG-Py/blob/36bceb35bc6b0d58beb2f2fa53faa12cf35c7034/documentation/source/users/rmg/installation/dependencies.rst?plain=1#L33
Might need to require people to build it themselves...
Latest problems:
I've started an issue on the conda feedstock for rdl asking to support the latest versions of Python: https://github.com/conda-forge/ringdecomposerlib-feedstock/issues/3
This has turned out to be a huge pain:
muq
is totally incompatible with RDKit (https://github.com/ReactionMechanismGenerator/RMG-Py/pull/2635#issuecomment-2189418601)ringdecomposerlib-python
doesn't support Python 3.11 (https://github.com/ReactionMechanismGenerator/RMG-Py/pull/2635#issuecomment-2189443032)cantera=3.0
is required, which removes methods we rely on and is thus broadly incompatible with our code basecoolprop
doesn't support intel macs(and we still need to rebuild a number of our deps on the rmg
channel for Python 3.11)
Where to go from here... suggestions @rwest?
I think the only thing to do is tick things off one at a time so we can move forward? (The only alternative is never upgrade anything?). Maybe update the top summary of this PR with a checklist to track what's needed.
I thought you'd dealt with muq in https://github.com/ReactionMechanismGenerator/RMG-Py/issues/2678 ? is the RDKit problem new?
What are the Cantera 3.0 issues? Maybe they should be listed in a separate issue or PR stub. (One is https://github.com/ReactionMechanismGenerator/RMG-Py/issues/2676)
I think the Cantera and Cython problems are tick-off-able, just a matter of sitting in front of the unit tests and fixing individual lines until it all passes. The others are more difficult, and not under our control:
I don't know the full scope of the Cantera issue, but that issue you opened is a good example. The function we use for testing will no longer exist, and need to be updated to the new syntax. The rest will become clear when the unit tests are finally run on Python 3.11
I ran this experiment conda create --name rmgtest1 conda-forge::muq conda-forge::rdkit
with promising output (on my intel mac):
conda create --name rmgtest1 conda-forge::muq conda-forge::rdkit
Channels:
- defaults
- conda-forge
Platform: osx-64
Collecting package metadata (repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /Users/rwest/miniconda3/envs/rmgtest1
added / updated specs:
- conda-forge::muq
- conda-forge::rdkit
The following packages will be downloaded:
package | build
---------------------------|-----------------
boost-1.74.0 | py310h509978a_5 320 KB conda-forge
bottleneck-1.4.0 | py310hde789be_1 121 KB conda-forge
chardet-5.2.0 | py310h2ec42d9_1 240 KB conda-forge
cmake-3.29.4 | h1304840_0 16.6 MB conda-forge
contourpy-1.2.1 | py310hb3b189b_0 228 KB conda-forge
fonttools-4.53.0 | py310h936d840_0 2.1 MB conda-forge
gmp-6.3.0 | hf036a51_2 419 KB conda-forge
greenlet-3.0.3 | py310h5daac23_0 195 KB conda-forge
kiwisolver-1.4.5 | py310h88cfcbd_1 59 KB conda-forge
libcurl-8.8.0 | hf9fcc65_0 377 KB conda-forge
llvm-openmp-18.1.8 | h15ab845_0 294 KB conda-forge
matplotlib-base-3.8.4 | py310hb47e01b_0 6.8 MB
muq-0.4.2 | py310h357aa3a_1 4.3 MB conda-forge
nanoflann-1.3.1 | 0 18 KB conda-forge
numexpr-2.10.0 | py310hbf2a7f0_0 125 KB conda-forge
numpy-1.26.4 | py310hf6dca73_0 12 KB
numpy-base-1.26.4 | py310hd8f4981_0 6.7 MB
openssl-3.3.1 | h87427d6_1 2.4 MB conda-forge
pandas-2.2.2 | py310h6d0c2b6_0 12.2 MB
pillow-10.3.0 | py310h6c40b1e_0 745 KB
pip-24.0 | py310hecd8cb5_0 2.7 MB
pycairo-1.25.0 | py310h0b97775_1 99 KB conda-forge
pyparsing-3.0.9 | py310hecd8cb5_0 151 KB
python-3.10.14 | h5ee71fb_1 13.2 MB
python-dateutil-2.9.0post0 | py310hecd8cb5_2 280 KB
python_abi-3.10 | 2_cp310 4 KB conda-forge
pytz-2024.1 | py310hecd8cb5_0 217 KB
rdkit-2022.09.1 | py310h5b22e64_0 37.9 MB conda-forge
reportlab-4.2.2 | py310h936d840_0 2.3 MB conda-forge
setuptools-70.1.1 | pyhd8ed1ab_0 485 KB conda-forge
sqlalchemy-2.0.31 | py310h936d840_0 2.7 MB conda-forge
unicodedata2-15.1.0 | py310h6c40b1e_0 517 KB
wheel-0.43.0 | py310hecd8cb5_0 109 KB
------------------------------------------------------------
Total: 114.9 MB
The following NEW packages will be INSTALLED:
blas conda-forge/osx-64::blas-2.122-openblas
blas-devel conda-forge/osx-64::blas-devel-3.9.0-22_osx64_openblas
boost conda-forge/osx-64::boost-1.74.0-py310h509978a_5
boost-cpp conda-forge/osx-64::boost-cpp-1.74.0-h8b082ac_8
bottleneck conda-forge/osx-64::bottleneck-1.4.0-py310hde789be_1
brotli conda-forge/osx-64::brotli-1.1.0-h0dc2134_1
brotli-bin conda-forge/osx-64::brotli-bin-1.1.0-h0dc2134_1
bzip2 pkgs/main/osx-64::bzip2-1.0.8-h6c40b1e_6
c-ares conda-forge/osx-64::c-ares-1.28.1-h10d778d_0
ca-certificates conda-forge/osx-64::ca-certificates-2024.6.2-h8857fd0_0
cairo pkgs/main/osx-64::cairo-1.16.0-h3ce6f7e_5
cctools_osx-64 conda-forge/osx-64::cctools_osx-64-973.0.1-hcc6d90d_13
chardet conda-forge/osx-64::chardet-5.2.0-py310h2ec42d9_1
clang pkgs/main/osx-64::clang-14.0.6-hecd8cb5_1
clang-14 pkgs/main/osx-64::clang-14-14.0.6-default_hd95374b_1
clang_osx-64 pkgs/main/osx-64::clang_osx-64-14.0.6-hb1e4b1b_0
clangxx pkgs/main/osx-64::clangxx-14.0.6-default_hd95374b_1
clangxx_osx-64 pkgs/main/osx-64::clangxx_osx-64-14.0.6-hd8b9576_0
cmake conda-forge/osx-64::cmake-3.29.4-h1304840_0
compiler-rt pkgs/main/osx-64::compiler-rt-14.0.6-hda8b6b8_0
compiler-rt_osx-64 pkgs/main/osx-64::compiler-rt_osx-64-14.0.6-h8d5cb93_0
contourpy conda-forge/osx-64::contourpy-1.2.1-py310hb3b189b_0
cycler conda-forge/noarch::cycler-0.12.1-pyhd8ed1ab_0
eigen pkgs/main/osx-64::eigen-3.4.0-ha357a0b_0
expat pkgs/main/osx-64::expat-2.6.2-hcec6c5f_0
fontconfig conda-forge/osx-64::fontconfig-2.14.2-h5bb23bf_0
fonttools conda-forge/osx-64::fonttools-4.53.0-py310h936d840_0
freetype pkgs/main/osx-64::freetype-2.12.1-hd8bbffd_0
freetype-py conda-forge/noarch::freetype-py-2.3.0-pyhd8ed1ab_0
glib conda-forge/osx-64::glib-2.80.2-h0f68cf7_0
glib-tools conda-forge/osx-64::glib-tools-2.80.2-hc27840c_0
gmp conda-forge/osx-64::gmp-6.3.0-hf036a51_2
greenlet conda-forge/osx-64::greenlet-3.0.3-py310h5daac23_0
hdf5 conda-forge/osx-64::hdf5-1.12.2-nompi_h48135f9_101
icu conda-forge/osx-64::icu-70.1-h96cf925_0
jpeg pkgs/main/osx-64::jpeg-9e-h6c40b1e_1
kiwisolver conda-forge/osx-64::kiwisolver-1.4.5-py310h88cfcbd_1
krb5 conda-forge/osx-64::krb5-1.21.2-hb884880_0
lcms2 conda-forge/osx-64::lcms2-2.15-h29502cd_0
ld64_osx-64 conda-forge/osx-64::ld64_osx-64-609-hfd63004_13
lerc pkgs/main/osx-64::lerc-3.0-he9d5cce_0
libaec conda-forge/osx-64::libaec-1.1.3-h73e2aa4_0
libblas conda-forge/osx-64::libblas-3.9.0-22_osx64_openblas
libbrotlicommon conda-forge/osx-64::libbrotlicommon-1.1.0-h0dc2134_1
libbrotlidec conda-forge/osx-64::libbrotlidec-1.1.0-h0dc2134_1
libbrotlienc conda-forge/osx-64::libbrotlienc-1.1.0-h0dc2134_1
libcblas conda-forge/osx-64::libcblas-3.9.0-22_osx64_openblas
libclang-cpp14 pkgs/main/osx-64::libclang-cpp14-14.0.6-default_hd95374b_1
libcurl conda-forge/osx-64::libcurl-8.8.0-hf9fcc65_0
libcxx conda-forge/osx-64::libcxx-17.0.6-h88467a6_0
libdeflate pkgs/main/osx-64::libdeflate-1.17-hb664fd8_1
libedit pkgs/main/osx-64::libedit-3.1.20230828-h6c40b1e_0
libev pkgs/main/osx-64::libev-4.33-h9ed2024_1
libexpat conda-forge/osx-64::libexpat-2.6.2-h73e2aa4_0
libffi pkgs/main/osx-64::libffi-3.4.4-hecd8cb5_1
libgfortran conda-forge/osx-64::libgfortran-5.0.0-13_2_0_h97931a8_3
libgfortran5 conda-forge/osx-64::libgfortran5-13.2.0-h2873a65_3
libglib conda-forge/osx-64::libglib-2.80.2-h0f68cf7_0
libiconv conda-forge/osx-64::libiconv-1.17-hd75f5a5_2
libintl conda-forge/osx-64::libintl-0.22.5-h5ff76d1_2
libintl-devel conda-forge/osx-64::libintl-devel-0.22.5-h5ff76d1_2
liblapack conda-forge/osx-64::liblapack-3.9.0-22_osx64_openblas
liblapacke conda-forge/osx-64::liblapacke-3.9.0-22_osx64_openblas
libllvm14 pkgs/main/osx-64::libllvm14-14.0.6-h91fad77_3
libnghttp2 conda-forge/osx-64::libnghttp2-1.58.0-h64cf6d3_1
libopenblas conda-forge/osx-64::libopenblas-0.3.27-openmp_hfef2a42_0
libpng conda-forge/osx-64::libpng-1.6.43-h92b6c6a_0
libsqlite conda-forge/osx-64::libsqlite-3.46.0-h1b8f9f3_0
libssh2 pkgs/main/osx-64::libssh2-1.11.0-hf20ceda_0
libtiff pkgs/main/osx-64::libtiff-4.5.1-hcec6c5f_0
libuv conda-forge/osx-64::libuv-1.48.0-h67532ce_0
libwebp-base conda-forge/osx-64::libwebp-base-1.4.0-h10d778d_0
libzlib conda-forge/osx-64::libzlib-1.2.13-h87427d6_6
llvm-openmp conda-forge/osx-64::llvm-openmp-18.1.8-h15ab845_0
llvm-tools pkgs/main/osx-64::llvm-tools-14.0.6-he0576d7_3
make conda-forge/osx-64::make-4.3-h22f3db7_1
matplotlib-base pkgs/main/osx-64::matplotlib-base-3.8.4-py310hb47e01b_0
metis conda-forge/osx-64::metis-5.2.1-h10d778d_0
mpfr conda-forge/osx-64::mpfr-4.2.1-h4f6b447_1
munkres pkgs/main/noarch::munkres-1.1.4-py_0
muq conda-forge/osx-64::muq-0.4.2-py310h357aa3a_1
nanoflann conda-forge/osx-64::nanoflann-1.3.1-0
ncurses conda-forge/osx-64::ncurses-6.5-h5846eda_0
nlopt pkgs/main/osx-64::nlopt-2.7.1-hcec6c5f_0
numexpr conda-forge/osx-64::numexpr-2.10.0-py310hbf2a7f0_0
numpy pkgs/main/osx-64::numpy-1.26.4-py310hf6dca73_0
numpy-base pkgs/main/osx-64::numpy-base-1.26.4-py310hd8f4981_0
openblas conda-forge/osx-64::openblas-0.3.27-openmp_h6794695_0
openjpeg conda-forge/osx-64::openjpeg-2.5.0-h13ac156_2
openssl conda-forge/osx-64::openssl-3.3.1-h87427d6_1
packaging conda-forge/noarch::packaging-24.1-pyhd8ed1ab_0
pandas pkgs/main/osx-64::pandas-2.2.2-py310h6d0c2b6_0
pcre2 conda-forge/osx-64::pcre2-10.43-h0ad2156_0
pillow pkgs/main/osx-64::pillow-10.3.0-py310h6c40b1e_0
pip pkgs/main/osx-64::pip-24.0-py310hecd8cb5_0
pixman conda-forge/osx-64::pixman-0.43.4-h73e2aa4_0
pycairo conda-forge/osx-64::pycairo-1.25.0-py310h0b97775_1
pyparsing pkgs/main/osx-64::pyparsing-3.0.9-py310hecd8cb5_0
python pkgs/main/osx-64::python-3.10.14-h5ee71fb_1
python-dateutil pkgs/main/osx-64::python-dateutil-2.9.0post0-py310hecd8cb5_2
python-tzdata conda-forge/noarch::python-tzdata-2024.1-pyhd8ed1ab_0
python_abi conda-forge/osx-64::python_abi-3.10-2_cp310
pytz pkgs/main/osx-64::pytz-2024.1-py310hecd8cb5_0
rdkit conda-forge/osx-64::rdkit-2022.09.1-py310h5b22e64_0
readline pkgs/main/osx-64::readline-8.2-hca72f7f_0
reportlab conda-forge/osx-64::reportlab-4.2.2-py310h936d840_0
rhash conda-forge/osx-64::rhash-1.4.4-h0dc2134_0
rlpycairo conda-forge/noarch::rlpycairo-0.2.0-pyhd8ed1ab_0
setuptools conda-forge/noarch::setuptools-70.1.1-pyhd8ed1ab_0
sigtool conda-forge/osx-64::sigtool-0.1.3-h88f4db0_0
six pkgs/main/noarch::six-1.16.0-pyhd3eb1b0_1
sqlalchemy conda-forge/osx-64::sqlalchemy-2.0.31-py310h936d840_0
sqlite conda-forge/osx-64::sqlite-3.46.0-h28673e1_0
suitesparse pkgs/main/osx-64::suitesparse-5.10.1-h577c77e_2
sundials conda-forge/osx-64::sundials-5.8.0-h7ddfbfd_0
tapi pkgs/main/osx-64::tapi-1100.0.11-h1527ee5_1
tbb conda-forge/osx-64::tbb-2021.10.0-h1c7c39f_2
tk pkgs/main/osx-64::tk-8.6.14-h4d00af3_0
typing-extensions conda-forge/noarch::typing-extensions-4.12.2-hd8ed1ab_0
typing_extensions conda-forge/noarch::typing_extensions-4.12.2-pyha770c72_0
tzdata pkgs/main/noarch::tzdata-2024a-h04d1e81_0
unicodedata2 pkgs/main/osx-64::unicodedata2-15.1.0-py310h6c40b1e_0
wheel pkgs/main/osx-64::wheel-0.43.0-py310hecd8cb5_0
xz pkgs/main/osx-64::xz-5.4.6-h6c40b1e_1
zlib conda-forge/osx-64::zlib-1.2.13-h87427d6_6
zstd conda-forge/osx-64::zstd-1.5.6-h915ae27_0
Proceed ([y]/n)? y
Downloading and Extracting Packages
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
It picked Python 3.10.14.
When I force it to use 3.11 with conda create --name rmgtest2 python=3.11 conda-forge::muq conda-forge::rdkit
it can't solve the environment.
From the discussion in #2678 the muq developers are pretty responsive and, in the longer term, may help us by building binaries with boost libraries that are compatible with rdkit?
But in the short term, is using Python 3.10 a way out of this stalemate, breaking the 3.7 roadblock and getting us closer to #2640?
Great minds think alike, I was just running with locally with 3.8 and 3.9 and also getting promising results. 3.10 is much better though, that buys us a much longer window before it gets deprecated again.
Let's stick 3.10 into this PR and see where we get.
Actually on second thought, I am going to move this to a new PR so that the branch name will make sense and target python 3.9 instead, only because ringdecomposerlib-python only supports up to 3.9 ATM.
This PR will (eventually) move RMG from Python 3.7 to 3.11/2. Python 3.7 is deprecated, which reason enough on its own to move, but doing so will also unblock a number of other improvements.
Opening this now to track the progress of the change and so that I can use the CI to test what packages need to be rebuilt, etc. Will edit this description and clean up the git history when things actually stand a chance of working.