strava_py icon indicating copy to clipboard operation
strava_py copied to clipboard

can't run, dependency errors

Open jarjk opened this issue 7 months ago • 3 comments

disclaimer sorry, maybe I'm just a bit of a python alien, but I can't get stravavis to build or run or whatever happens on pip install stravavis.

note

this might be a problem with dodo-saba/fit2gpx itself

problem

as far as I can tell, there's a pandas version issue coming from the latest version of fit2gpx (1.0.2)

workaround

dunno the proper way, but cloning the repo, locking fit2gpx==0.0.7 in pyproject.toml and running uv pip install -e . did the trick

some logs

setting up a venv, then pip install stravavis failed. there are like loads of them logs, thousands of lines, last few of them:

...
      pandas/_libs/src/klib/khash_python.h:147:34: note: expanded from macro 'kh_complex_hash_equal'
        147 |   (kh_floats_hash_equal(a.real, b.real) && kh_floats_hash_equal(a.imag, b.imag))
            |                                 ~^~~~~
      pandas/_libs/src/klib/khash_python.h:127:53: note: expanded from macro 'kh_floats_hash_equal'
        127 | #define kh_floats_hash_equal(a, b) ((a) == (b) || ((b) != (b) && (a) != (a)))
            |                                                     ^
      fatal error: too many errors emitted, stopping now [-ferror-limit=]
      20 errors generated.
      error: command '/usr/bin/clang' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for pandas
Successfully built fit2gpx
Failed to build pandas
ERROR: Failed to build installable wheels for some pyproject.toml based projects (pandas)

jarjk avatar Jul 30 '25 18:07 jarjk

relevant, opened: https://github.com/dodo-saba/fit2gpx/issues/20

jarjk avatar Jul 30 '25 18:07 jarjk

Thanks, I added an answer there: https://github.com/dodo-saba/fit2gpx/issues/20#issuecomment-3137605558.

hugovk avatar Jul 30 '25 19:07 hugovk

thanks for the details!

nevertheless, I'd rather stuck with my solution, locking fit2gpx to a previous version, as I find it utterly slow anyways, and use my (well, Rust) alternative for converting fit to gpx beforehand, so stravavis never reaches the process_fit function

jarjk avatar Jul 30 '25 20:07 jarjk