graspologic
graspologic copied to clipboard
[BUG] The package is extraordinarily difficult to install
Expected Behavior
The package takes less than 10 minutes to install, and requires minimal direct user intervention.
Actual Behavior
The package took about 3 hours to install to a fresh Mac Big Sur computer, from someone with intimate knowledge of how unix package structuring works, with a barrage of errors basically every step of the way, from system library configuration issues, to package dependency issues, to conflicts across packages. I would certainly consider myself no rookie to the installation hurdles that arise, but this was hands down the most challenging package to install on a fresh computer that I have personally experienced. Note: this was not my computer, it was @aj-hersko 's, but on my own computer it was still quite non-trivial as well if I'm recalling correctly!
Suggested alternatives: docker.
i believe the issue has to do with M1 chips, https://github.com/microsoft/graspologic-native, and lack of github compilers for M1?
see https://github.com/microsoft/graspologic/issues/822
i am anti docker, or more specifically, anti rely on docker for your user to be able to install easily, because it has its own set of hoops to jump through
i am pro making it easier to install on other architectures, just not sure what is involved
though maybe i am wrong about why it's hard? https://github.com/microsoft/graspologic-native/issues/22
unclear, though I eventually got it to install, but it took like straight up 2 hours and an extreme amount of nitty-gritty technical work manually rebuilding a lot of packages straight from source, which seems unfortunate/cumbersome. I agree I hate a docker reliance solution, but it is better to have the option than not being able to use the package at all, which based on my experience installing it for Audrey, is probably what would happen for a large portion of potential users. Maybe we should have @aj-hersko search back through her history for that particular day from bash before it is lost in the abyss forever? XD
yeah, i would say the trouble is that i dont know what the actual issues are cause it is super easy on my machine... would like it to be that way for everyone but need to know where the pain points are
I'd like to add that I've been having issues with fresh installs too, e.g., #998. I built a package at my work that uses graspologic as a dependency, and I had to remove the graspologic dependency, because that gensim issue in #998 was again popping up repeatedly (pip show gensim
returns an up-to-date gensim). With https://github.com/neurodata/graph-stats-book set to be published next fall, which heavily uses graspologic, I'm a big advocate of doing a big start-from-fresh-and-make-sure-installs-are-easy push. I'd be down to sit together and hack with people over a weekend, if we have access to different computers (e.g., macs with M1 chips, the fresh Ubuntu installation I was having trouble with, etc)
Again I am pro make things easy to install but I think the solution (95% of the time) is to:
- document extremely clearly how one tried to install graspologic (in a fresh environment), on what platform etc., and how it failed
- search upstream deps for the same issue
- implement whatever fix has been proposed there, or ban the offending version of the dependency
For the most part, this is whack-a-mole. I've probably fixed 5-10 of these kinds of installation issues over the last year or two and it is almost always something that pops up in a dependency, or a dependency of a dependency, so I don't have a one-size-fits-all solution.
Again I am pro make things easy to install but I think the solution (95% of the time) is to:
- document extremely clearly how one tried to install graspologic (in a fresh environment), on what platform etc., and how it failed
- search upstream deps for the same issue
- implement whatever fix has been proposed there, or ban the offending version of the dependency
For the most part, this is whack-a-mole. I've probably fixed 5-10 of these kinds of installation issues over the last year or two and it is almost always something that pops up in a dependency, or a dependency of a dependency, so I don't have a one-size-fits-all solution.
Documenting the gensim issue here, since the other thread got closed, and this looks like the catchall installation issues thread. Python 3.10.9 on ubuntu, not a new vm (lots of other packages installed)
