Исправление упаковки Python: понимание различий между колесом и яйцом; Как получить локальное решение для более широкой аудитории?
Я пытаюсь понять, почему easy_install pyicu
работает и pip install
не (см. ниже). также пытается понять: "В чем разница между проектом PyPi с универсальным колесом и без него?" Будет ли установка будет "проще?". Если да, решит ли этот запрос на слияние проблему, когда полиглот не устанавливается на машину Anaconda?
Нужна помощь / совет / решения о том, как наилучшим образом решить проблему установки проекта Python, которая связана с базовыми зависимостями. У меня есть два локальных исправления в GitHub Gists, но я хотел бы узнать, как лучше всего сделать это исправление "там", чтобы такие люди, как я, могли его найти. Каков нормальный подход сообщества Python? Проблема сосредоточена вокруг трех проектов:
- Polyglot - многоязычный инструментарий НЛП Python
- pyicu - расширение Python, упаковывающее библиотеку IBM International Components for Unicode C++ (ICU).
- pycld2 - библиотека CLD (Compact Language Detection), поддерживаемая Dick Sites
Цель:
- Установите полиглот на компьютер MacOSX, работающий под управлением Python Anaconda Distribution
- Сделайте исправление, которое я нашел доступным для всех; опубликовано много вопросов о проблеме.
Проблема (их много):
- Ядро polyglot, pyicu, неправильно устанавливается при использовании
pip install
, Обнаружено, что вы должны использоватьeasy_install
для этого правильно построить и работать на MacOSX. Если вы не используетеeasy_install
, ты получаешь: - Полиглоту для запуска в Анаконде требуется icu 54.1.1, но...
- Homebrew, инструмент MacOSX для установки
icu
, только устанавливает версию 58.1. Эта версия слишком новая. Старые стековые потоки советуютbrew install icu4c
чтобы решить проблему, но эволюция Homebrew делает этот совет устаревшим. - у pyicu нет универсального колеса; но я создал запрос на слияние, чтобы добавить один к
pyicu
, Единственный способ исправить это с помощью этого каналаicu
https://anaconda.org/ccordoba12/icu.conda install icu
не сработает, но это нормальноconda
способ делать вещи.
* pycld2 - CLD (Compact Language Detection) становится проблемой, потому что после того, как я создаю файл wheel локально, мне нужно загрузить проект и запустить setup.py локально. Должен быть лучший способ сделать это правильно?
Что я сделал, чтобы решить проблему (что мне делать дальше, что мне делать дальше?)
- Создал два Gists, которые могут успешно установить полиглот на Mac под управлением Anaconda для Python 2.7 или Python 3.5
- Исправление Python 2.7
- Исправление Python 3.5
- создал запрос на слияние для
pyicu
Оба исправления Гист работают. Но эта ошибка при установке привязана к колесу? Если я установил pyicu
с easy_install
, установка работает. Но с pip
не так ли?
Какие шаги предпринять в сообществе Python, чтобы исправить это, чтобы люди могли найти решение или просто pip install
без проблем?
Я сделал тест, и если wheel
файл построен, пип работает без проблем.