Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrading to Python 3.11 #2635

Closed
wants to merge 6 commits into from
Closed

Upgrading to Python 3.11 #2635

wants to merge 6 commits into from

Conversation

JacksonBurns
Copy link
Contributor

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.

Copy link

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.

@github-actions github-actions bot added the stale stale issue/PR as determined by actions bot label Jun 14, 2024
@JacksonBurns JacksonBurns removed the stale stale issue/PR as determined by actions bot label Jun 14, 2024
force higher version of Python to see which packages we need to rebuild
@rwest
Copy link
Member

rwest commented Jun 24, 2024

I just rebased this, to see what would happen. It sounds like getting past Python 3.7 is needed for #2640 etc.

@JacksonBurns
Copy link
Contributor Author

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:

  • rmg::pydas >=1.0.3
  • rmg::pydqed >=1.0.3
  • rmg::pyrms
  • rmg::symmetry
  • rmg::diffeqpy
    and attempting to run this install locally will also provide some more helpful info, I'm sure.

@rwest
Copy link
Member

rwest commented Jun 25, 2024

#2640 removes pyrms and diffeqpy, and I see a main reason for getting to a newer python is to enable #2640.
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?

@JacksonBurns
Copy link
Contributor Author

I fixed our existing recipe for symmetry on ReactionMechanismGenerator/conda-recipes#18 but forgot about this more updated version - do we want to stick with the existing or try the new one?

@rwest
Copy link
Member

rwest commented Jun 25, 2024

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.

@rwest
Copy link
Member

rwest commented Jun 25, 2024

Try relaxing Cantera to >=2.6 ?

@JacksonBurns
Copy link
Contributor Author

JacksonBurns commented Jun 25, 2024

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!

@JacksonBurns
Copy link
Contributor Author

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...

@JacksonBurns
Copy link
Contributor Author

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;

@JacksonBurns
Copy link
Contributor Author

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...

* **muq:** (optional) MIT Uncertainty Quantification library, used for global uncertainty analysis

Might need to require people to build it themselves...

@JacksonBurns
Copy link
Contributor Author

Latest problems:

  • there are Cython compilation errors on linux with the version of numpy/cython/etc we have upgraded too in this PR, not surprising
  • coolprop does not build binaries for intel macs and python 3.11

@JacksonBurns
Copy link
Contributor Author

I've started an issue on the conda feedstock for rdl asking to support the latest versions of Python: conda-forge/ringdecomposerlib-feedstock#3

@JacksonBurns JacksonBurns changed the title Upgrading to Python 3.11/2 Upgrading to Python 3.11 Jun 25, 2024
@JacksonBurns
Copy link
Contributor Author

JacksonBurns commented Jun 25, 2024

Current Status

This has turned out to be a huge pain:

(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?

@rwest
Copy link
Member

rwest commented Jun 25, 2024

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 #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 #2676)

@JacksonBurns
Copy link
Contributor Author

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

@rwest
Copy link
Member

rwest commented Jun 26, 2024

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?

@JacksonBurns
Copy link
Contributor Author

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.

@JacksonBurns
Copy link
Contributor Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants