6 ms·
This post is a snapshot of one webdev's toolbox. It certainly is indicative of webdev's predilection for increasingly complex and opaque tooling, mixed-markup f
by dilandau 6y ago
This post is a snapshot of one webdev's toolbox. It certainly is indicative of webdev's predilection for increasingly complex and opaque tooling, mixed-markup formats, and over-engineering (if it can even be called engineering).
You don't really need any of that stuff. That whole tooling ecosystem undergoes a rewrite every couple years, anyways, so I predict this post will not age well.
Just stick to setup.py, pip, and virtualenv. It's sufficient into all thy needs.
- raverbashing 6y agoThis The post wants to sell the point that "poetry is like npm" as if it was an advantage. It isn't. (Not that npm is bad per se) Can't wait for left-pad python the way things are going...
- carapace 6y agoI was with you up until your last sentence. pip and virtualenv are hacky kludges that grew legs and lungs, that's how old python's issues around deployment are, there's an era before pip and virtualenv. There should be an abstraction for it (deployment, versions, import hacking) like what pathlib did for file path manipulation. We have a classic lava-flow pattern. http://mikehadlow.blogspot.com/2014/12/the-lava-layer-anti-pattern.html http://mikehadlow.blogspot.com/2014/12/the-lava-layer-anti-p...
- raverbashing 6y agoWhat makes you think the newer tools are better than pip and virtualenv? (They most likely use some of those in the background) Edit: the link you quoted is very relevant > We developers should recognise that we suffer from a number of quite harmful pathologies when dealing with legacy code: > We are highly (and often overly) critical of older patterns and technologies. > We think that the current shiny best way is the end of history; that it will never be superseded or seen to be suspect with hindsight
- carapace 6y ago> What makes you think the newer tools are better than pip and virtualenv? I don't. Heck, maybe they are. I don't use them. My point is that rather than being the beneficiary of Python's excellent abstraction powers, distribution et. al. is and has been a mess for decades. Here's a history of the sordid mess starting from 1998: "The distutils-sig dicussion list was created to discuss the development of distutils." https://www.pypa.io/en/latest/history/ https://www.pypa.io/en/latest/history/ FWIW, Since pip and virtualenv became relatively stable and "blessed" and PyPI has matured the only new thing I've tried is Anaconda. Unfortunately my main Python project right now uses Tkinter and the folks who make Anaconda have a circular dependency in their build system such that you need python to build Freetype so their Python/Tkinter/TCL/Tk has gruesomely-bad support for fonts, so my project looks like a potato. https://github.com/ContinuumIO/anaconda-issues/issues/6833 https://github.com/ContinuumIO/anaconda-issues/issues/6833 Someone has put in a PR to hopefully fix it, and-- ah! --it seems to have gotten some attention earlier today: https://github.com/conda-forge/tk-feedstock/pull/40 https://github.com/conda-forge/tk-feedstock/pull/40 Fingers crossed for great good! Anyhow, things are rough all over, eh?
- dilandau 6y agopip and virtualenv have the benefit of being stable and de-facto standards, due to their longevity. That matters. Virtualenv is hardly a hack. It just sets env vars.
- carapace 6y agoWhat do you think a hack is? I ask in a friendly way.
- nilkn 6y agoI sort of agree, but also think you're handwaving away some actual pain points. pyenv makes it really easy to manage multiple Python installations on the same system. Also, while I prefer pip-tools over poetry for its simplicity and the fact that it has stood the test of time, both accomplish the goal of pinning all direct and transitive pip dependencies.