ContextLab / hypertools

A Python toolbox for gaining geometric insights into high-dimensional data
http://hypertools.readthedocs.io/en/latest/
MIT License
1.83k stars 160 forks source link

dependency install bug for non-UTF-8 locales #232

Closed paxtonfitzpatrick closed 4 years ago

paxtonfitzpatrick commented 4 years ago

In the rare case that someone tries to pip install hypertools in an environment that doesn't have UTF-8 set as the default encoding (usually minibase Linux distros or Docker images where the language wasn't set when building), installing the dependency umap-learn will fail silently. This is due to an issue with the version of UMAP being installed -- described and fixed lmcinnes/umap#330 and Hypertools's workaround for installing a dependency from a GitHub repository.

As this won't often be an issue, we should fix it in the next release by (in order of preferability):

. . . Note: intentionally circumventing PyPI's requirement that packages only depend on other PyPI-hosted packages is probably not great practice. IMO it was justifiable for v0.6.0/v0.6.2 due to a substantial unreleased bug fix, and made sufficiently transparent in requirements.txt and setup.py, but in the future I think we should try to come up with a different solution. For example, we could restructure reduce.py to:

paxtonfitzpatrick commented 4 years ago

This is now fixed in v0.6.3