Optionale Abhängigkeiten in Python Packages
Über die "install_requires" in der "setup.py" können Abhängigkeiten zu anderen Python-Packages definiert werden, diese werden dann automatisch mit installiert. Wenn Packages aber nur optional verwendet werden sollen, definiert man sie als "extras_require" und überlässt es dem Anwender diese mit zu installieren.
Hier ein Beispiel des Products.EasyNewsletter Packages:
install_requires=[
'setuptools',
'BeautifulSoup',
'Products.TemplateFields',
],
extras_require = dict(
tests=[
'inqbus.plone.fastmemberproperties',
],
fmp=['inqbus.plone.fastmemberproperties'],
all=['fmp',]
),
In einer Buildout-Konfiguration installiert man die optionalen Packages dann wie folgt.
eggs = Products.EasyNewsletter[fmp]