（備忘録）UMAPがインストールできない時

ある日、可視化で有名なUMAPをインストールしようとした時の話

`tbb==2020.0.133` が存在しないと怒られたのでその対処法

そのうち修正入るかもしれませんが

```
$ pipenv install umap-learn
Installing umap-learn…
Adding umap-learn to Pipfile's [packages]…
✔ Installation Succeeded 
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
✔ Success! 
Updated Pipfile.lock (6d345f)!
Installing dependencies from Pipfile.lock (6d345f)…
An error occurred while installing tbb==2020.0.133 --hash=sha256:0e7b232098cc9a7bf86b08beb21ecbc5be2ba21d2e6f0d1ac6d2917e614335dc! Will try again.
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 9/9 — 00:00:11
Installing initially failed dependencies…
[pipenv.exceptions.InstallError]:   File "/usr/local/Cellar/pipenv/2018.11.26_2/libexec/lib/python3.7/site-packages/pipenv/core.py", line 1992, in do_install
[pipenv.exceptions.InstallError]:       skip_lock=skip_lock,
[pipenv.exceptions.InstallError]:   File "/usr/local/Cellar/pipenv/2018.11.26_2/libexec/lib/python3.7/site-packages/pipenv/core.py", line 1253, in do_init
[pipenv.exceptions.InstallError]:       pypi_mirror=pypi_mirror,
[pipenv.exceptions.InstallError]:   File "/usr/local/Cellar/pipenv/2018.11.26_2/libexec/lib/python3.7/site-packages/pipenv/core.py", line 859, in do_install_dependencies
[pipenv.exceptions.InstallError]:       retry_list, procs, failed_deps_queue, requirements_dir, **install_kwargs
[pipenv.exceptions.InstallError]:   File "/usr/local/Cellar/pipenv/2018.11.26_2/libexec/lib/python3.7/site-packages/pipenv/core.py", line 763, in batch_install
[pipenv.exceptions.InstallError]:       _cleanup_procs(procs, not blocking, failed_deps_queue, retry=retry)
[pipenv.exceptions.InstallError]:   File "/usr/local/Cellar/pipenv/2018.11.26_2/libexec/lib/python3.7/site-packages/pipenv/core.py", line 681, in _cleanup_procs
[pipenv.exceptions.InstallError]:       raise exceptions.InstallError(c.dep.name, extra=err_lines)
[pipenv.exceptions.InstallError]: ['Looking in indexes: https://pypi.org/simple, https://packagecloud.io/abeja/platform-public/pypi/simple']
[pipenv.exceptions.InstallError]: ['ERROR: Could not find a version that satisfies the requirement tbb==2020.0.133 (from -r /var/folders/13/z05_6prj5vd666xm6h_vjg_00000gn/T/pipenv-a2l4a483-requirements/pipenv-y_8yy2p8-requirement.txt (line 1)) (from versions: 2018.0.4.1, 2019.0)', 'ERROR: No matching distribution found for tbb==2020.0.133 (from -r /var/folders/13/z05_6prj5vd666xm6h_vjg_00000gn/T/pipenv-a2l4a483-requirements/pipenv-y_8yy2p8-requirement.txt (line 1))']
ERROR: ERROR: Package installation failed...
```

tbbを普通にpipからインストールしようとしてもないと怒られ、古いバージョンでも同様に怒られる

なので、whlを直接探してインストールしました。以下はmacの場合のインストールです（以下はpipenvではなくpip表記）

```
pip install https://files.pythonhosted.org/packages/33/2a/a309969dbe9ac0738d1688e1653cf0f5cd3e511da2db986b831e986c44c2/tbb-2019.0-py2.py3-none-macosx_10_12_intel.macosx_10_12_x86_64.whl
pip install umap-learn
```

tbbは古いバージョンですが、以下のように無事インストールできたっぽいです

```
$ pipenv install https://files.pythonhosted.org/packages/33/2a/a309969dbe9ac0738d1688e1653cf0f5cd3e511da2db986b831e986c44c2/tbb-2019.0-py2.py3-none-macosx_10_12_intel.macosx_10_12_x86_64.whl
Installing https://files.pythonhosted.org/packages/33/2a/a309969dbe9ac0738d1688e1653cf0f5cd3e511da2db986b831e986c44c2/tbb-2019.0-py2.py3-none-macosx_10_12_intel.macosx_10_12_x86_64.whl…
Adding tbb to Pipfile's [packages]…
✔ Installation Succeeded 
Pipfile.lock (86525e) out of date, updating to (aacbf9)…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
✔ Success! 
Updated Pipfile.lock (86525e)!
Installing dependencies from Pipfile.lock (86525e)…
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 9/9 — 00:00:06
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.

$ pipenv install umap-learn
Installing umap-learn…
Adding umap-learn to Pipfile's [packages]…
✔ Installation Succeeded 
Installing dependencies from Pipfile.lock (86525e)…
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 9/9 — 00:00:07
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.
```