Skip to content

Setup.py should define setup_requires= #3861

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

Closed
ejnens opened this issue Jun 12, 2013 · 4 comments · Fixed by #3903
Closed

Setup.py should define setup_requires= #3861

ejnens opened this issue Jun 12, 2013 · 4 comments · Fixed by #3903
Labels
Build Library building on various platforms
Milestone

Comments

@ejnens
Copy link
Contributor

ejnens commented Jun 12, 2013

We have trouble combining pandas with buildout. It looks like pandas depends on numpy during the setup phase, but it doesn't it declare the setup_requires (ref) directive in setup.py. Any reason why this feature remains unused, or shall I submit a pull request? Because I see the matplotlib and numexpr don't use it as well.

@lodagro
Copy link
Contributor

lodagro commented Jun 12, 2013

matplotlib and numexpr are optional, numpy is not (it is needed from normal operation also, not only during setup phase.) numpy is mentioned in the install_requires argument to in setup.py. If numpy is not installed, installing pandas will also install numpy.

@ejnens
Copy link
Contributor Author

ejnens commented Jun 12, 2013

Fully agreed. But the setuptools spec says that when a dependency is needed both in runtime and in "setup" time, it needs to be added to both setup_requires and install_requires.

This causes buildout to assemble setup_requires packages first, and correctly makes them available to dependent packages during the setup phase. IMHO this is the desired behaviour for dependency resolution.

My point about the other libraries was that ideally, they should declare the same directive for all their setup-time dependencies as well :-)

@cpcloud
Copy link
Member

cpcloud commented Jun 12, 2013

are there any objections to this? assuming this doesn't add any complexity to travis builds i.e., it "just works" then a pr would be nice. and yes it would be nice if one didn't have to manually install numpy when one wanted to install mpl from pip same with scipy

@cpcloud
Copy link
Member

cpcloud commented Jun 18, 2013

More generally all of the required packages should be listed here. This might reduce the number of issues raised about installation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Build Library building on various platforms
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants