ddangelov / Top2Vec

Top2Vec learns jointly embedded topic, document and word vectors.
BSD 3-Clause "New" or "Revised" License
2.95k stars 374 forks source link

[Installation issue] Unable to install latest version of top2vec with sentence encoders #332

Open mighteejim opened 1 year ago

mighteejim commented 1 year ago

On MacOS 13.3.1 with Python 3.9.16.

When I run pip3 install "top2vec[sentence_encoders]", pip installs top2vec-1.0.11. This version of top2vec doesn't appear to support embedding_model as a param:

pip3 install "top2vec[sentence_encoders]"
Defaulting to user installation because normal site-packages is not writeable
Collecting top2vec[sentence_encoders]
  Using cached top2vec-1.0.29-py3-none-any.whl (26 kB)
Requirement already satisfied: pandas in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from top2vec[sentence_encoders]) (2.0.0)
Requirement already satisfied: umap-learn>=0.5.1 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from top2vec[sentence_encoders]) (0.5.3)
Requirement already satisfied: numpy>=1.20.0 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from top2vec[sentence_encoders]) (1.23.5)
Requirement already satisfied: scikit-learn>=1.2.0 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from top2vec[sentence_encoders]) (1.2.2)
Requirement already satisfied: wordcloud in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from top2vec[sentence_encoders]) (1.8.2.2)
Requirement already satisfied: gensim>=4.0.0 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from top2vec[sentence_encoders]) (4.3.1)
Requirement already satisfied: hdbscan>=0.8.27 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from top2vec[sentence_encoders]) (0.8.29)
  Using cached top2vec-1.0.28-py3-none-any.whl (25 kB)
  Using cached top2vec-1.0.27-py3-none-any.whl (25 kB)
  Using cached top2vec-1.0.26-py3-none-any.whl (23 kB)
Collecting gensim<4.0.0
  Using cached gensim-3.8.3.tar.gz (23.4 MB)
  Preparing metadata (setup.py) ... done
Collecting top2vec[sentence_encoders]
  Using cached top2vec-1.0.25-py3-none-any.whl (23 kB)
  Using cached top2vec-1.0.24-py3-none-any.whl (22 kB)
  Using cached top2vec-1.0.23-py3-none-any.whl (22 kB)
  Using cached top2vec-1.0.22-py3-none-any.whl (22 kB)
  Using cached top2vec-1.0.21-py3-none-any.whl (22 kB)
Requirement already satisfied: pynndescent>=0.4 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from top2vec[sentence_encoders]) (0.5.9)
Collecting joblib<1.0.0
  Using cached joblib-0.17.0-py3-none-any.whl (301 kB)
Collecting numpy
  Using cached numpy-1.19.2.zip (7.3 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting top2vec[sentence_encoders]
  Using cached top2vec-1.0.20-py3-none-any.whl (22 kB)
  Using cached top2vec-1.0.19-py3-none-any.whl (22 kB)
  Using cached top2vec-1.0.18-py3-none-any.whl (22 kB)
  Using cached top2vec-1.0.17-py3-none-any.whl (21 kB)
  Using cached top2vec-1.0.16-py3-none-any.whl (20 kB)
  Using cached top2vec-1.0.15-py3-none-any.whl (19 kB)
WARNING: top2vec 1.0.15 does not provide the extra 'sentence_encoders'
  Using cached top2vec-1.0.14-py3-none-any.whl (19 kB)
WARNING: top2vec 1.0.14 does not provide the extra 'sentence_encoders'
  Using cached top2vec-1.0.13-py3-none-any.whl (19 kB)
WARNING: top2vec 1.0.13 does not provide the extra 'sentence_encoders'
  Using cached top2vec-1.0.12-py3-none-any.whl (18 kB)
WARNING: top2vec 1.0.12 does not provide the extra 'sentence_encoders'
  Using cached top2vec-1.0.11-py3-none-any.whl (16 kB)
WARNING: top2vec 1.0.11 does not provide the extra 'sentence_encoders'
Requirement already satisfied: joblib>=0.11 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from pynndescent>=0.4->top2vec[sentence_encoders]) (1.2.0)
Requirement already satisfied: scipy>=1.0 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from pynndescent>=0.4->top2vec[sentence_encoders]) (1.10.1)
Requirement already satisfied: llvmlite>=0.30 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from pynndescent>=0.4->top2vec[sentence_encoders]) (0.39.1)
Requirement already satisfied: numba>=0.51.2 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from pynndescent>=0.4->top2vec[sentence_encoders]) (0.56.4)
Requirement already satisfied: smart-open>=1.8.1 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from gensim>=4.0.0->top2vec[sentence_encoders]) (6.3.0)
Requirement already satisfied: cython>=0.27 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from hdbscan>=0.8.27->top2vec[sentence_encoders]) (0.29.34)
Requirement already satisfied: python-dateutil>=2.8.2 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from pandas->top2vec[sentence_encoders]) (2.8.2)
Requirement already satisfied: tzdata>=2022.1 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from pandas->top2vec[sentence_encoders]) (2023.3)
Requirement already satisfied: pytz>=2020.1 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from pandas->top2vec[sentence_encoders]) (2020.5)
Requirement already satisfied: tqdm in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from umap-learn>=0.5.1->top2vec[sentence_encoders]) (4.65.0)
Requirement already satisfied: pillow in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from wordcloud->top2vec[sentence_encoders]) (9.5.0)
Requirement already satisfied: matplotlib in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from wordcloud->top2vec[sentence_encoders]) (3.7.1)
Requirement already satisfied: setuptools in /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/site-packages (from numba>=0.51.2->pynndescent>=0.4->top2vec[sentence_encoders]) (58.0.4)
Requirement already satisfied: six>=1.5 in /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/site-packages (from python-dateutil>=2.8.2->pandas->top2vec[sentence_encoders]) (1.15.0)
Requirement already satisfied: threadpoolctl>=2.0.0 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from scikit-learn>=1.2.0->top2vec[sentence_encoders]) (3.1.0)
Requirement already satisfied: fonttools>=4.22.0 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from matplotlib->wordcloud->top2vec[sentence_encoders]) (4.39.3)
Requirement already satisfied: pyparsing>=2.3.1 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from matplotlib->wordcloud->top2vec[sentence_encoders]) (3.0.9)
Requirement already satisfied: kiwisolver>=1.0.1 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from matplotlib->wordcloud->top2vec[sentence_encoders]) (1.4.4)
Requirement already satisfied: packaging>=20.0 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from matplotlib->wordcloud->top2vec[sentence_encoders]) (23.1)
Requirement already satisfied: contourpy>=1.0.1 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from matplotlib->wordcloud->top2vec[sentence_encoders]) (1.0.7)
Requirement already satisfied: importlib-resources>=3.2.0 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from matplotlib->wordcloud->top2vec[sentence_encoders]) (5.12.0)
Requirement already satisfied: cycler>=0.10 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from matplotlib->wordcloud->top2vec[sentence_encoders]) (0.11.0)
Requirement already satisfied: zipp>=3.1.0 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from importlib-resources>=3.2.0->matplotlib->wordcloud->top2vec[sentence_encoders]) (3.15.0)
Installing collected packages: top2vec
Successfully installed top2vec-1.0.11

Installing top2vec without specifying [sentence_encoders] installs 1.0.29, but without the encoders. Attempting to specify the version number also doesn't work:

pip3 install "top2vec[sentence_encoders]==1.0.29"
Defaulting to user installation because normal site-packages is not writeable
Collecting top2vec[sentence_encoders]==1.0.29
  Using cached top2vec-1.0.29-py3-none-any.whl (26 kB)
Requirement already satisfied: umap-learn>=0.5.1 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from top2vec[sentence_encoders]==1.0.29) (0.5.3)
Requirement already satisfied: scikit-learn>=1.2.0 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from top2vec[sentence_encoders]==1.0.29) (1.2.2)
Requirement already satisfied: hdbscan>=0.8.27 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from top2vec[sentence_encoders]==1.0.29) (0.8.29)
Requirement already satisfied: pandas in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from top2vec[sentence_encoders]==1.0.29) (2.0.0)
Requirement already satisfied: gensim>=4.0.0 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from top2vec[sentence_encoders]==1.0.29) (4.3.1)
Requirement already satisfied: wordcloud in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from top2vec[sentence_encoders]==1.0.29) (1.8.2.2)
Requirement already satisfied: numpy>=1.20.0 in /Users/jackley/Library/Python/3.9/lib/python/site-packages (from top2vec[sentence_encoders]==1.0.29) (1.23.5)
ERROR: Could not find a version that satisfies the requirement tensorflow-text; extra == "sentence_encoders" (from top2vec[sentence-encoders]) (from versions: none)
ERROR: No matching distribution found for tensorflow-text; extra == "sentence_encoders"

Any suggestions on what to try next would be appreciated. Thanks!

hirsche commented 2 months ago

I've got the same issue - I trying to use it on Fedora 40, python 3.12.5 and pip 24.2. Could you solve the problem meanwhile - or has anybody else some hints? Many Thanks!