bjodah / chempy

⚗ A package useful for chemistry written in Python
BSD 2-Clause "Simplified" License
536 stars 79 forks source link

Use latest stable release of Debian in the reproducible environment #186

Closed bjodah closed 3 years ago

bjodah commented 3 years ago

I updated the example environment and gave the script a try. It can render the example notebooks listed in index.ipynb

jeremyagray commented 3 years ago

I just managed to get a full install with pip into a virtualenv (optional ode solvers and all) finished (on current debian bullseye), but ran into some problems with pycvodes https://github.com/bjodah/pycvodes/issues/131#issue-732666802. Also, all of my tests in chempy/kinetics/tests/test__native.py fail (yours are skipping on the CI) and I was curious about that.

Since I would like to at least document a straightforward means of installing by pip, I would like to know more about your library versions in the reproducible environment and their layout (blas, lapack, sundials, etc.; the stuff not in python). I spent too much time finding all the dependencies, and installing cmake to compile sundials, and wrestling with include and library paths to get it to work.

On Thu, Oct 29, 2020 at 2:07 PM Bjorn notifications@github.com wrote:

I updated the example environment and gave the script a try. It can render to example notebooks listed in index.ipynb

You can view, comment on, or merge this pull request online at:

https://github.com/bjodah/chempy/pull/186 Commit Summary

  • Use latest stable release of Debian in the reproducible environment

File Changes

Patch Links:

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/bjodah/chempy/pull/186, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOQCHS4XFZWTVVD5CRAJ7JLSNG4PNANCNFSM4TEENKUQ .

-- Jeremy A. Gray

bjodah commented 3 years ago

Thanks, I did not notice native tests were skipping, they should not during the CI run, I should probably add some flag preventing that from happening. I'll make sure they are running before merging this.

Regarding the amount of work that users have to put in for those native tests to run: Yes, I'd like to see it reduced, so far this Dockerfile is the best I've managed to come up with.

bjodah commented 3 years ago

So the native tests are only skipped for some runs, I left a comment in the CI config.

bjodah commented 3 years ago

One way would be to get a conda package working (again), there has been some effort towards this, but even then it's not trivial. xref: https://github.com/conda-forge/staged-recipes/pull/12678

EDIT: looks like the CI logs are stale (i.e. deleted) on that PR, so one would need to fork that branch and create a new PR to get fresh logs. I don't use conda myself, so that's why I wasn't able to keep up with that rapidly evolving ecosystem, and that's why I think any recipe in conda-forge will need to be maintained by a few interested parties who actually use the tool.

jeremyagray commented 3 years ago

Well, I'm close now on a reproducible virtualenv/pip install on my machine (current debian bullseye). I just cloned master and ran export PYCVODES_NO_LAPACK='1' && pip install --force-reinstall --ignore-installed --no-binary ':all:' -r requirements.txt in an empty virtualenv and got it finished. I'll recheck it later today because the process was interrupted by Pillow missing a library, but I believe it will work. Once I've hammered all of this out, I may look at the conda forge recipe. I had looked at that hoping for guidance, but it appeared to be having the same issues I was.

I tried reconfiguring and recompiling sundials as you indicated, but that did not affect the pycvodes issue with multiple definitions.

On Fri, Oct 30, 2020 at 4:36 AM Bjorn notifications@github.com wrote:

One way would be to get a conda package working (again), there has been some effort towards this, but even then it's not trivial. xref: conda-forge/staged-recipes#12678 https://github.com/conda-forge/staged-recipes/pull/12678

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/bjodah/chempy/pull/186#issuecomment-719447982, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOQCHS2RWFRLI4SGOBS62LTSNKCKDANCNFSM4TEENKUQ .

-- Jeremy A. Gray

bjodah commented 3 years ago

So I guess this is "debian testing" (bullseye).