I installed the levenshtein module from conda-forge. I don't recall the exact command used, but it was likely something similar to conda install -c conda-forge PackageName
. I queried the package versions. I see two packages with exactly the same version number:
(py39) C:\>conda list levenshtein$
# packages in environment at C:\Users\User.Name\AppData\Local\anaconda3\envs\py39:
#
# Name Version Build Channel
levenshtein 0.25.1 py39h99910a6_0 conda-forge
python-levenshtein 0.25.1 pyhd8ed1ab_0 conda-forge
The version matches what I could find online here and here. I can also find both variations on GitHube, here, here, and here.
To try and get an idea of whether they are different, I used Cygwin's Bash to navigate to Conda environment folder /c/Users/User.Name/AppData/Local/anaconda3/envs/py39
and searched for files related to the packages:
$ find * -name '*levenshtein*' -print | xargs ls -l
7270 Jun 7 17:13 conda-meta/levenshtein-0.25.1-py39h99910a6_0.json
4564 Jun 7 17:13 conda-meta/python-levenshtein-0.25.1-pyhd8ed1ab_0.json
3951 Jan 27 2023 Lib/site-packages/gensim/similarities/__pycache__/levenshtein.cpython-39.pyc
4505 Jan 27 2023 Lib/site-packages/gensim/similarities/levenshtein.py
219136 Apr 7 12:12 Lib/site-packages/Levenshtein/levenshtein_cpp.cp39-win_amd64.pyd
I'm not sure how to interpret these findings. Looking at the top 2 JSON files, I see possibly relevant selected lines
levenshtein-0.25.1-py39h99910a6_0.json
--------------------------------------
"extracted_package_dir": "C:\\Users\\User.Name\\AppData\\Local\\anaconda3\\pkgs\\levenshtein-0.25.1-py39h99910a6_0",
"fn": "levenshtein-0.25.1-py39h99910a6_0.conda",
"source": "C:\\Users\\User.Name\\AppData\\Local\\anaconda3\\pkgs\\levenshtein-0.25.1-py39h99910a6_0",
"package_tarball_full_path": "C:\\Users\\User.Name\\AppData\\Local\\anaconda3\\pkgs\\levenshtein-0.25.1-py39h99910a6_0.conda",
python-levenshtein-0.25.1-pyhd8ed1ab_0.json
-------------------------------------------
"extracted_package_dir": "C:\\Users\\User.Name\\AppData\\Local\\anaconda3\\pkgs\\python-levenshtein-0.25.1-pyhd8ed1ab_0",
"fn": "python-levenshtein-0.25.1-pyhd8ed1ab_0.conda",
"source": "C:\\Users\\User.Name\\AppData\\Local\\anaconda3\\pkgs\\python-levenshtein-0.25.1-pyhd8ed1ab_0",
"package_tarball_full_path": "C:\\Users\\User.Name\\AppData\\Local\\anaconda3\\pkgs\\python-levenshtein-0.25.1-pyhd8ed1ab_0.conda",
Are the two packages in fact the same? If so, why would they manifest as differently name packages? How can one check whether a common package is made available via two different names?
Looking through the package indices for python-levenshtein
leads us to https://github.com/rapidfuzz/python-Levenshtein, which says in the README:
⚠️ The package was renamed to
Levenshtein
and can be found here. Thepython-Levenshtein
package will continue to be updated alongside the new package
So as it seems, they're the same package, with python-levenshtein
being maintained for compatibility's sake.