Python Distutils - PullRequest
       55

Python Distutils

0 голосов
/ 18 ноября 2008

Мне не удалось установить cython из-за строгого класса нумерации версий из Distutils . Например, binutils-2.18.50-20080109-2.tar.gz не может использоваться вместе с MinGW для установки cython. В документации к исходному коду говорится, что "обоснование этой системы нумерации версий будет объяснено в документации distutils". Я не могу найти обоснование.

Мой вопрос: в чем смысл этой системы нумерации версий?

Ответы [ 3 ]

1 голос
/ 04 февраля 2009

Это просто очередная глупость distutils. Я лично удаляю эту надоедливую проверку в моей установке distutils на каждой машине с Windows, которую я должен использовать.

Установка другой версии mingw будет работать, пока она проходит проверку версии - но на самом деле сама идея проверки версии инструментов не имеет особого смысла.

0 голосов
/ 10 октября 2011

Я предполагаю, что идея состояла в том, чтобы рекомендовать проектам использовать номер версии, совместимый с классом StrictVersion, для легкой сортировки (то есть сравнение версий, чтобы знать, что 1.0 новее, чем 1.0b). Проблема в том, что он так и не вышел, и первоначальный автор distutils перешел к другим проектам. Когда setuptools запускался как набор новых функций и обезьян-патчей для distutils, вместо использования классов Version он определял алгоритм для преобразования любого номера версии в сортируемое представление. Несколько лет назад Tarek Ziadé взял на себя обслуживание и разработку distutils и работал над PEP с сообществом distutils, чтобы определить новую спецификацию номера версии. Этот PEP, PEP 386, был принят и внедрен в distutils2. Он был определен с целью поддержки функций, используемых сообществом (например, альфа / бета / кандидатские версии, маркеры после релиза) и все еще позволяющих сортировать. Это более ограниченно, чем setuptools, но гораздо полезнее, чем StrictVersion и LooseVersion.

0 голосов
/ 18 ноября 2008

Вы можете попробовать этот неофициальный дистрибутив MinGW, он имеет простой процесс установки, который настраивает distutils для использования его для компиляции расширений.

...