-
Notifications
You must be signed in to change notification settings - Fork 932
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
Recommend dependency version management tooling based on use case #367
Comments
|
I'd love to see pipenv referenced! I think that'd do the community a great service (and pip-tools as well, of course). I don't do a good job of this myself on python-guide — I just point people to using pip. However, I just updated all my personal projects to recommending installation via pipenv last night. So, slowly encouraging adoption in that area. My thoughts are that this is a good idea, if the information is presented simply, much in the way that Python-Guide presents the list of web frameworks: http://docs.python-guide.org/en/latest/scenarios/web/ Note that it doesn't include every possible option, and it effectively instructs the user which framework to use. |
@kennethreitz Heh, your advice on Django vs Flask is almost exactly how I was planning to describe the distinction between |
✨🍰✨ |
From @ncoghlan in https://github.com/pypa/python-packaging-user-guide/pull/369/files/b102d60fe4d8ac3cf6fce53fd5bf5f159d2f7fc8#r136228176 Suggested initial set of links:
And then make a note that the above list only covers cross-platform tools, and there are also other platform specific options available if users are only interested in a limited set of platforms. |
#370 adds this as a set of links at the end of the new pipenv tutorial. However, a better overall structure is likely to be:
|
Sounds good. Thank you. :)
…On Wed, Aug 30, 2017, 8:15 PM Nick Coghlan ***@***.***> wrote:
I closed #370
<#370>, but have
kept the branch so we can easily re-use the content from fbb4864
<fbb4864>
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#367 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAPUc5Uk-H0aqjbrQpbj8JfzBMW5HRvnks5sdiVlgaJpZM4PA0tV>
.
|
Another one worth mentioning (from #375): https://github.com/ofek/hatch That goes several steps further than pipenv, and gives you a full project management toolkit for software publishers aiming to release through PyPI, not just consuming components from PyPI for use as part of an application or development & testing environment. |
Hatch looks very cool, and definitely something worth mentioning — however, it also looks very complex, skimming the README. Far from a simple tool — it just does a lot. Looks like @ofek put a lot of work into it :) |
Based on advice from @kennethreitz I have significantly uncluttered the readme https://github.com/ofek/hatch#usage |
I've included a link to both pip-tools and hatch at the end of the new pipenv dependency management tutorial in #402 However, I still think a broader discussion article about the trade-offs between the various options would make sense. |
I would be willing to write a documentation page about using conda-forge and PyPI together. It would focus more on the things available than promoting one over the other. |
FYI, back in April I posted a comment that lists the current mentions of conda in the packaging docs, when a similar discussion was happening: https://discuss.python.org/t/drawing-a-line-to-the-scope-of-python-packaging/883/50?u=cjerdonek It could be useful for consolidating things and deciding where new content should go / what needs updating. |
I would love to see some reasons why and in what cases one should use these tools. Not just the (dis)advantages of each other but also include just using venv from the standard lib and pip. I have a very hard time trying to figure out why pipenv is the "preferred" choice, there's 0 explanation for a tool that, until very recently, wasn't updated for years. Like It's like saying ketchup is better than hot sauce. Is it tho? Maybe on fries, but certainly not nachos. Please explain your thoughts and reasoning when you make your case. |
Similar to the problem in #118 with regards to virtual environment management, our current tooling recommendations don't provide a pointer to higher level dependency version management tools like
pipenv
orpip-tools
, they only refer topip
itself.While we don't want to overwhelm people with choice, I think we're currently doing folks a disservice by letting them think
pip
is all there is, rather than guiding them towards more opinionated higher level tooling:pipenv
: web application development (and potentially other forms of application development)pip-tools
: general application development (useful whenpipenv
doesn't align with your needs)conda
: language-independent cross-platform package (useful when you have extensive external dependencies)The text was updated successfully, but these errors were encountered: