Как я могу указать версии библиотеки в setup.py?
В моем setup.py
файл, я указал несколько библиотек, необходимых для запуска моего проекта:
setup(
# ...
install_requires = [
'django-pipeline',
'south'
]
)
Как я могу указать необходимые версии этих библиотек?
2 ответа
Я не уверен насчет buildout, однако для setuptools/distribate вы указываете информацию о версии с помощью операторов сравнения (например, ==
, >=
, или же <=
).
Например:
install_requires = ['django-pipeline==1.1.22', 'south>=0.7']
Вы можете добавить их в свой
requirements.txt
файл вместе с версией.
Например:
django-pipeline==1.1.22
south>=0.7
а затем в вашем
setup.py
import os
from setuptools import setup
with open('requirements.txt') as f:
required = f.read().splitlines()
setup(...
install_requires=required,
...)
Чтение из документов -
Не рекомендуется использовать
install_requires
для привязки зависимостей к определенным версиям или для указания подчиненных зависимостей (то есть зависимостей ваших зависимостей). Это чрезмерно ограничивает и не дает пользователю воспользоваться преимуществами обновлений зависимостей.
https://packaging.python.org/discussions/install-requires-vs-requirements/#id5