Установочные инструменты не найдены - PullRequest
1 голос
/ 05 сентября 2010

Я переключаюсь с Linux на OSX, и когда я запускаю скрипт setup.py нашей сборки, я получаю сообщение об ошибке, содержащее текст

Этот скрипт требует setuptools версии 0.6c7.

Я несколько раз пытался установить setuptools и убедился, что яйцо setuptools существует в /Library/Python/2.6/site-packages.Понятия не имею, почему его не признают.

Ответы [ 2 ]

1 голос
/ 05 сентября 2010

Очень распространено иметь несколько версий Python в системах OS X. В последних выпусках OS X Apple выпустила две версии (в /usr/bin). Возможно, вы установили более свежие версии с помощью установщиков из python.org (которые обычно существуют в /Library/Frameworks/Python.framework или с помощью распространителя пакетов, такого как MacPorts (который устанавливается в /opt/local/Library/Frameworks/Python.framework). Имейте в виду, что для каждой версии Python требуется собственная копия setuptools.

Поскольку путь к пакету сайта, о котором вы сообщаете, равен /Library/Python/2.6/site-packages, наиболее вероятно, что вы использовали поставляемый Apple Python 2.6.1 в OS X 10.6, чтобы попытаться установить новую версию setuptools. Обратите внимание, что Apple уже поставляет setuptools для своих питонов (0.6c9 для 2.6.1 в 10.6); соответствующие easy_install команды находятся в /usr/bin.

$ /usr/bin/python2.6 -c 'import setuptools;print(setuptools.__file__,setuptools.__version__)'
('/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/setuptools/__init__.pyc', '0.6c9')

Если вы используете другой Python, не поставляемый Apple, следуйте инструкциям по установке новой версии setuptools (или Distribute), убедившись, что вы вызываете правильную версию Python. Проверьте вашу оболочку PATH и which python, чтобы убедиться.

Если это не поможет, обновите ваш вопрос, добавив дополнительную информацию.

ОБНОВЛЕНИЕ: Судя по вашим дальнейшим комментариям, что-то не так в вашей стандартной директории site-packages. После устранения этой проблемы и установления установленной Apple setuptools версии 0.6c9, похоже, пакет, который вы пытаетесь установить, ищет определенную, более раннюю версию setuptools, 0.6c7. Если это так, вы должны сначала определить, почему это так и если это необходимо. Скорее всего, это просто неверная спецификация версии в файле setup.py пакета, то есть с использованием == вместо >=. Если вы можете, отредактируйте файл setup.py, чтобы он мог использовать более новую версию. В маловероятном случае, когда пакет действительно действительно нуждается в конкретной старой версии setuptools (которая может даже не работать с этой версией Python или OS X), вы могли бы попробовать установить старая версия, например, так:

$ sudo /usr/bin/easy_install-2.6 setuptools==0.6c7
$ /usr/bin/python2.6 -c 'import setuptools;print(setuptools.__file__,setuptools.__version__)'
('/Library/Python/2.6/site-packages/setuptools-0.6c7-py2.6.egg/setuptools/__init__.pyc', '0.6c7')

Но вам действительно следует избегать этого, если это вообще возможно, поскольку при этом будет установлена ​​другая более старая версия easy_install в /usr/local/bin и могут возникнуть проблемы с установкой и использованием других пакетов.

0 голосов
/ 05 сентября 2010

Вы пытались импортировать setuptools в свой скрипт setup.py?

import setuptools

Это решило мои проблемы с setuptool- ish в прошлом.

...