Кэширование файлов для последующего перестроения с помощью distutils - PullRequest
3 голосов
/ 23 декабря 2010

Я создаю набор расширений Python с помощью distutils.Расширения зависят от внешних библиотек (не связанных с Python), которые обычно создаются из исходного кода с использованием Makefiles.Эти внешние библиотеки вряд ли будут часто меняться.

Чтобы облегчить боль пользователей, мои сценарии setup.py извлекают библиотеки из Интернета с помощью urllib.urlretrieve (), анализируют файлы Makefiles для сбора списка соответствующих источниковфайлы, и соберите, используя config.add_library ().Это прекрасно работает, и все хорошо.

Мой вопрос: каков наилучший / рекомендуемый способ кэширования загруженных исходных файлов, чтобы distutils не загружал их заново при повторной сборке?Можно ли хранить их, скажем, в папках build / src.macosx-10.6-x86_64-2.7 или build / temp.macosx-10.6-x86_64-2.7, созданных distutils?Если это так, как один запрос distutils для названия этих папок?

Заранее спасибо!

1 Ответ

1 голос
/ 20 января 2011

Должно быть возможно использовать эти папки, вот как получить эти имена из distutils . Тем не менее, эти папки довольно изменчивы. Я бы предложил иметь пустой каталог в исходном дистрибутиве для получения этих загрузок с файлом README, объясняющим его роль в качестве кэша сборки.

...