TomasBeuzen / pybeach

A Python package for locating the dune toe on cross-shore beach profile transects.
MIT License
18 stars 12 forks source link

Retrain classifiers to update dependencies? #20

Open FlorisCalkoen opened 1 month ago

FlorisCalkoen commented 1 month ago

Hi @TomasBeuzen,

We were considering to use this package to classify some beach profiles. However, while trying to incorporate this package into our environment @dani-x-98 ran into some issues, which I think are related to the pickled classifiers.

What I have tried so far to get the package up and running. The pinned sklearn version is quite old (april 2021) probably because the pickle files are not compatible with sklearn > 1*. So I went down to Python 3.8 but that still does not solve the issues.

This fails with numpy/scipy errors:

mamba create -n testenv python=3.8 -y 
pip install pybeach

This also fails with numpy/scipy errors:

mamba create -n testenv python=3.8 poetry
git clone https://github.com/TomasBeuzen/pybeach.git
poetry install 

I also experimented with pinning numpy to lower than 1.23.0 because at some point I only had a numpy distutils issue, but then I had other trouble.

Any chance you know how to best update the package so that it becomes compatible with more recent Python dependencies? Instead we could also copy over the relevant elements and acknowledge that in our code.

FlorisCalkoen commented 1 month ago

@dani-x-98, as a workaround, this works:

mamba create -n pybeach python=3.9 scikit-learn=0.24.2
pip install pybeach
margomd commented 1 month ago

Hi! I have also been trying to download pybeach in order to indentify a change in dune toe distance over time. I followed your work around to try to download the package, but I keep running into a "metadata-generation-failed" error. Here is a copy-paste of the error message:

note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.

The package issue mentioned is with scipy. The requirement scipy==1.3.1 seems to be invalid or causes the package download failure. When I try to fix this, then there is an error with scikit-learn. I have tried this in pycharm and spyder on windows, and spyder on unbuntu and in a virtual environment.

I am not sure how to fix this and would appreciate any help!