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

use pipenv for development dependencies and running tests #61

Closed
belm0 opened this issue Oct 18, 2018 · 6 comments
Closed

use pipenv for development dependencies and running tests #61

belm0 opened this issue Oct 18, 2018 · 6 comments
Assignees
Labels
enhancement New feature or request

Comments

@belm0
Copy link
Member

belm0 commented Oct 18, 2018

e.g. see Pipfile and Makefile in https://github.com/requests/requests

@mehaase mehaase added the enhancement New feature or request label Oct 25, 2018
mehaase added a commit that referenced this issue Oct 25, 2018
The build fails because it can't find sphinxcontrib_trio, which is
is a "dev" dependency. This quick fix is to make it a real dependency.
This might be fixable by doing #61?
@belm0 belm0 mentioned this issue Oct 26, 2018
@belm0
Copy link
Member Author

belm0 commented Nov 1, 2018

https://chriswarrick.com/blog/2018/07/17/pipenv-promises-a-lot-delivers-very-little/

virtualenvwrapper and pip-tools may be a better approach

@mehaase
Copy link
Contributor

mehaase commented Nov 5, 2018

I am enjoying pipenv on the other project where I'm trying it out. The only gripe I have right now is that it can be pretty slow to lock packages.

On the other hand, Read The Docs can only install from setup.py or requirements.txt. It's not aware of Pipfile, so pipenv would be a bit annoying. It has a feature to generate requirements.txt but we'd have to remember to run it every time anybody updates a pinned dependency.

I don't know pip-tools yet, but that looks like a promising way forward.

@belm0
Copy link
Member Author

belm0 commented Nov 5, 2018

Re. Sphinx, how about keeping extras in requirements-extra.txt instead of setup.py? read docs must support it, e.g. trio does this.

@belm0
Copy link
Member Author

belm0 commented Nov 7, 2018

the sphinx issue is increasing our product dependencies by about 25%, I'd like to see that resolved

@mehaase mehaase self-assigned this Nov 7, 2018
@mehaase
Copy link
Contributor

mehaase commented Nov 7, 2018

I'm trying out pip-tools this morning. I like it, but its author recommends Pipenv instead:

Note: While the principles outlined in this blog post still very much apply, your tool of choice these days should be Pipenv.

But PyPA still recommends pip-tools as an alternative to Pipenv:

If you find this particular approach to managing application dependencies isn’t working well for you or your use case, you may want to explore … pip-tools to build your own custom workflow from lower level pieces like pip-compile and pip-sync

Anyway… I have a working setup that I will commit in a few minutes.

mehaase added a commit that referenced this issue Nov 7, 2018
I used pip-tools to generate a requirements file. Also added a
Makefile to emulate how the requests package is laid out. Added
some documentation for using pip-tools. Finally, removed the
attrs dependency which wasn't really being used heavily enough
to justify its inclusion on this project.
mehaase added a commit that referenced this issue Nov 9, 2018
Move dev dependencies to requirements-dev.txt (#61)
@mehaase
Copy link
Contributor

mehaase commented Nov 9, 2018

Closed via #78.

@mehaase mehaase closed this as completed Nov 9, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants