Разница между пакетами «левенштейн» и «питон-левенштейн»?

Я установил модуль Левенштейна от conda-forge. Я не помню точную команду, но, скорее всего, это было что-то похожее на conda install -c conda-forge PackageName. Я запросил версии пакета. Я вижу два пакета с одинаковым номером версии:

(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

Версия соответствует тому, что я смог найти в Интернете здесь и здесь . Я также могу найти оба варианта на GitHube: здесь , здесь и здесь.

Чтобы попытаться понять, отличаются ли они, я использовал Cygwin's Bash, чтобы перейти к папке среды Conda /c/Users/User.Name/AppData/Local/anaconda3/envs/py39 и поискать файлы, относящиеся к пакетам:

$ 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

Я не уверен, как интерпретировать эти результаты. Просматривая два верхних файла JSON, я вижу, возможно, соответствующие выбранные строки.

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",

Действительно ли эти два пакета одинаковы? Если да, то почему они проявляются как пакеты с разными именами? Как проверить, доступен ли общий пакет под двумя разными именами?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Просмотр индексов пакетов для python-levenshtein приводит нас к https://github.com/rapidfuzz/python-Levenshtein, где в README написано:

⚠️ Пакет переименован в Levenshtein, его можно найти здесь. Пакет python-Levenshtein будет продолжать обновляться вместе с новым пакетом.

Судя по всему, это один и тот же пакет, python-levenshtein сохранен ради совместимости.

Ага. python-Levenshtein — заброшенная вилка Levenshtein

James 11.06.2024 17:27

Не совсем заброшенный, похоже, что выпуски пакетов все еще выходят, хотя и с Levenshtein в качестве источника - репозиторий python-Levenshtein не получает новых коммитов, но с ним связаны новые версии.

walkrflocka 11.06.2024 17:34

Я надеялся пройти через ваш процесс расследования этого дела. Не могли бы вы уточнить, какую часть данных вы подразумеваете под «индексами пакетов»? Это из conda list или из файлов JSON? Я искал «github» в файлах JSON, но не смог найти ни одного его появления. Спасибо.

user2153235 11.06.2024 17:35

@ user2153235 конечно, если вы просто посмотрите на веб-сайт Anaconda и выполните поиск python-levenshtein, появится пакет (anaconda.org/conda-forge/python-levenshtein), и вы сможете увидеть восходящий репозиторий на этой странице - в данном случае он указывает на maxbachmann/python-Levenshtein на GitHub, который перенаправляет на rapidfuzz/python-Levenshtein, как указано в моем ответе.

walkrflocka 11.06.2024 17:38

Я обнаруживаю свое крайнее незнание Анаконды. Я зашёл на anaconda.com, где можно вечно плавать, пытаясь узнать, как искать посылки. Затем я попробовал Anaconda Navigator, и мне повезло так же (не пытался создать учетную запись для подключения к облаку). Наконец нашел anaconda.org, где (в зависимости от страницы) нужно нажать значок меню-гамбургера, чтобы получить доступ к поиску. Наконец-то нашел путь к вашим цитатам выше. Спасибо!

user2153235 11.06.2024 18:25

Другие вопросы по теме