2013-05-14 4 views
2

Предположим, у меня есть проект, который зависит от пакетов, которые должны устанавливаться только через диспетчер системных пакетов (например, привязки к библиотекам C), так что install_requires не работает.Правильная упаковка Python с внешними зависимостями пакета

В настоящее время я пытаюсь импортировать указанные пакеты в setup.py и звонить sys.exit() с положительным кодом выхода, если импорт невозможен. Является ли это хорошей практикой или есть лучшие способы для этого?

ответ

0

Вы можете создать собственные системные пакеты (deb, rpm и т. Д.) И описать зависимости в нем (которые являются библиотеками C в вашем случае). Вы можете проверить Debian packages packing manual (или пакеты для другого менеджера, в зависимости от используемой системы).

+0

Зависимости _are_ устанавливаются через 'apt',' yum' и т. Д. Но мне нужно найти способ указать эти зависимости в моей 'setup.py'. Или просто изящно извините, если они не установлены. – matthias

+0

Да, если зависимости установлены таким образом, вы, вероятно, должны создать apt и yum версии для своего пакета. –

+0

Я думал об этом и пришел к выводу, что это технически правильное решение, но требует от меня больших усилий. Это особенно верно для очень маленьких и «не очень важных» проектов. – matthias

Смежные вопросы