Я використовую pip з virtualenv для пакування та встановлення деяких бібліотек Python.
Я думаю, те, що я роблю, є досить поширеним сценарієм. Я є супровідником декількох бібліотек, для яких я можу чітко вказати залежності. Деякі мої бібліотеки залежать від сторонніх бібліотек, які мають транзитивні залежності, над якими я не маю контролю.
Я намагаюся домогтися того, щоб pip install
одна з моїх бібліотек завантажила / встановила всі її залежності вище за течією. Я борюся з документацією pip, це якщо / як файли вимог можуть це зробити самостійно або якщо вони насправді є лише доповненням до використання install_requires
.
Чи використовував би я install_requires
у всіх своїх бібліотеках вказати залежності та діапазони версій, а потім використовувати лише файл вимог, щоб вирішити конфлікт та / або заморозити їх для виробничої збірки?
Давайте зробимо вигляд, що я живу в уявному світі (я знаю, я знаю), і мої залежності вище за течією прямолінійні і гарантовано ніколи не конфліктують і не порушують зворотну сумісність. Чи змушений би я взагалі використовувати файл вимог pip, або просто дозволити pip / setuptools / distribute встановити все, що базується install_requires
?
Тут є багато подібних запитань, але я не міг знайти таких, що були б такими основними, як коли використовувати той чи інший або гармонічно використовувати їх обидва.