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

setup.py and cheeseshop releases do not list dependencies #1617

Closed
ltucker opened this issue Jul 25, 2013 · 3 comments · Fixed by #1812
Closed

setup.py and cheeseshop releases do not list dependencies #1617

ltucker opened this issue Jul 25, 2013 · 3 comments · Fixed by #1812
Labels

Comments

@ltucker
Copy link

ltucker commented Jul 25, 2013

The boto release packages do not enumerate dependencies in setup.py, so they are not installed if you easy_install or pip install boto. As it is, the cloudsearch module is not functional out-of-the-box due to missing dependencies after install (requires requests in some version range)

I notice that you have a requirements.txt, which is useful, but is there any reason the set needed for deployment is not also listed setup.py in the "install_requires" / "tests_require" sections as most packages do?

@nichochar
Copy link

I agree with @ltucker on this one. It would be nice to have them clearly stated somewhere.

@toastdriven
Copy link
Contributor

This was done because an original goal of boto was to lean on as few external dependencies. Because there's a big install base, just adding a bunch of deps (that most people won't use) isn't a great idea.

That said, we'll work up a way for all the dependencies to be explicitly listed & installable, perhaps with optional dependencies/an extra_requirements.txt/docs/etc.

@ltucker
Copy link
Author

ltucker commented Oct 31, 2013

If there are certain portions that are considered "extras" not needed for normal deployments, there is also the "extras_require" section of setup.py that will allow picking these up when desired, eg:

extras_require={
    'cloudsearch': ["requests>=1.2.3"], 
    # etc...
}

This allows other packages to express this dependency if needed and pick it up via the cheeseshop, eg by referring to "boto[cloudsearch]" etc. without resorting to additional installation actions. Does not affect any installation that just refers to "boto"

@toastdriven toastdriven removed their assignment Mar 31, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants