Мне не удалось установить Cython из-за класс строгой нумерации версий из Distutils. Например, binutils-2.18.50-20080109-2.tar.gz нельзя использовать вместе с MinGW для установки cython. документация по исходному коду говорит, что «Обоснование этой системы нумерации версий будет объяснено в документации distutils». Я не могу найти объяснение.
Мой вопрос: каково обоснование этой системы нумерации версий?
Ответ на этот вопрос поможет мне понять и изучить (а) дизайнерские решения и (б) почему cython или любая другая подобная библиотека должна зависеть от строгого класса нумерации версий Distutils.
Я считаю полезным дистрибутив pythonxy (в Windows) code.google.com/p/pythonxy (последние обновления см. На странице загрузок)






Вы можете попробовать неофициальный дистрибутив MinGW это, он имеет простой процесс установки, который настраивает distutils для использования его для компиляции расширений.
Это просто очередная глупость distutils. Я лично удаляю эту досадную проверку в моей установке distutils на каждой машине с Windows, которую я использую.
Установка другой версии mingw будет работать, пока она проходит проверку версии, но на самом деле сама идея проверки версии инструментов не имеет большого смысла.
Я предполагаю, что идея заключалась в том, чтобы рекомендовать проектам использовать номер версии, совместимый с классом StrictVersion, для легкой сортировки (т.е. сравнения версий, чтобы знать, что 1.0 новее 1.0b). Проблема в том, что он так и не стал популярным, и первоначальный автор distutils перешел к другим проектам. Когда setuptools был запущен как набор новых функций и обезьяньих патчей для distutils, вместо использования классов версии он определил алгоритм для преобразования любого номера версии в сортируемое представление. Несколько лет назад Тарек Зиаде взял на себя обслуживание и разработку distutils и работал над PEP с сообществом distutils, чтобы определить новую спецификацию номера версии. Этот PEP, PEP 386, был принят и реализован в distutils2. Он был определен с целью поддержки функций, используемых сообществом (альфа / бета / версии-кандидаты, например, маркеры после выпуска), и при этом позволять сортировку. Он более ограничивает, чем инструменты настройки, но гораздо полезнее, чем StrictVersion и LooseVersion.
Кажется, это не очень действенный вопрос. Что бы вы сделали с ответом? Как это решит вашу проблему? Что бы вы хотели сделать из того, чего не можете?