bjodah / chempy

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

Installation Errors #217

Open timhockswender opened 1 year ago

timhockswender commented 1 year ago

Working on windows, pip install for pygsodeiv2 and pykinsol leads to failures due to package issues. Similar to older issue on pip install.

Any chance that these could be modified to be installed via conda?

Does Sundials need to be installed outside of python?

Does python-Sundials work for chempy?

I would like to learn this system better and would appreciate any help. Thanks. Tim.

bjodah commented 1 year ago

Hi Tim,

It's all a bit of a moving target unfortunately. I'm worried that pykinsol and pycvodes probably won't compile with latest Sundials (they've made breaking changes between 5->6 I believe). Those projects should ideally be updated to support latest release. But I will not be able to find the time to do so myself in the foreseeable future.

And I'm not sure GSL even supports Windows.

On Windows your best bet is to use subsystem for Linux (WSL2) and then either install directly there, or build a container (using either podman or docker). Here's a Containerfile which passes all of ChemPy's tests for Python 3.11:

FROM docker.io/python:3.11

RUN \
    apt-get update \
    && apt-get --quiet --assume-yes --no-install-recommends install \
        locales sudo tzdata apt-transport-https ca-certificates graphviz texlive-latex-recommended \
    && echo "LC_ALL=en_US.UTF-8" >> /etc/environment \
    && echo "en_US.UTF-8 UTF-8"  >> /etc/locale.gen \
    && echo "LANG=en_US.UTF-8"    > /etc/locale.conf \
    && locale-gen en_US.UTF-8 \
    && update-ca-certificates \    
    && apt-get --quiet --assume-yes dist-upgrade \
    && apt-get --quiet --assume-yes --no-install-recommends install \
        libsundials-dev libgsl-dev libboost-math-dev \
    && rm -rf /tmp/* /var/tmp/*

RUN \
    python3 -m pip install --upgrade cython pip chempy pytest pygslodeiv2 pyodeint pycodeexport appdirs \
    && CPATH=/usr/include/suitesparse/ PYCVODES_NO_LAPACK=1 python3 -m pip install pycvodes \
    && python3 -m pytest --pyargs pycvodes pygslodeiv2 pyodeint sym symengine finitediff block_diag_ilu \
    && rm -rf /tmp/*

RUN \
    python3 -m pytest -ra --pyargs pyodesys chempy
skarkloff commented 2 months ago

Hola! Soy nuevo contribuyendo en proyectos open source, me gustaria colaborar en este. Estuve viendo las issues y la guia de contribucion pero seria de utilidad una mejor ayuda o guia, gracias!

Hello! I am new to contributing to open source projects, I would like to collaborate on this one. I was looking at the issues and the contribution guide but better help or guidance would be useful, thank you!