Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature(..., require_features=[...]) with Require instances doesn't install additional dependencies #58

Closed
ghost opened this issue Aug 1, 2013 · 2 comments

Comments

@ghost
Copy link

ghost commented Aug 1, 2013

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?


@ghost
Copy link
Author

ghost commented Aug 5, 2013

Original comment by pje (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.)

@ghost
Copy link
Author

ghost commented Aug 11, 2013

Original comment by jaraco (Bitbucket: jaraco, GitHub: jaraco):


Thanks @pje for clarifying. I've created #65 to track deprecating this functionality.

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

0 participants