You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Originally reported by: paluh (Bitbucket: paluh, GitHub: paluh)
Hi,
As far as I understand Feature documentation I should be able to use require_features to force installation of additional requirements when given feature is enabled.
Here is my example setup.py file:
:::python
from setuptools import setup, Distribution, Feature, Require
setup(name='spam', author='Spammer',
author_email='spammer@example.com', distclass=Distribution,
features={'eggs': Feature('Spam with eggs', standard=True,
require_features=[Require('Eggs', None, 'eggggs')])})
Package based on above setup.py should fail during installation as eggggs package doesn't exists. If I change this package to some existing one it dosn't get installed either.
Am I missing something? If so - should I extend Distribution to handle require_features in any specific manner? Any examples?
Original comment bypje (Bitbucket: pje, GitHub: pje):
The "Feature()" facility was never completely implemented or supported, and even if it were, it should be deprecated now, as it will not be compatible with the coming packaging systems based on PEP 426. If you need separate features, use separate distributions and "extras" instead.
(The problem I discovered when I first implemented Feature is that distutils' build system really isn't capable of having a sane "configure" step, or saving that configuration. Essentially, distutils is a little too stateless for that, but Features need it in order not to act weird in various scenarios. "Extras" are basically the intended replacement for this functionality, and Features were just kept around to support legacy projects.)
Originally reported by: paluh (Bitbucket: paluh, GitHub: paluh)
Hi,
As far as I understand
Feature
documentation I should be able to userequire_features
to force installation of additional requirements when given feature is enabled.Here is my example
setup.py
file:Package based on above
setup.py
should fail during installation aseggggs
package doesn't exists. If I change this package to some existing one it dosn't get installed either.Am I missing something? If so - should I extend Distribution to handle
require_features
in any specific manner? Any examples?The text was updated successfully, but these errors were encountered: