4 ms·
Wow. 1) you can python environment with dependencies! (can do that without nix) 2) you can pin dependencies by hash! (can be done with any tool mentioned in a
by Tractor8626 1y ago
Wow.
1) you can python environment with dependencies!
(can do that without nix)
2) you can pin dependencies by hash!
(can be done with any tool mentioned in article: docker, pip, npm etc)
If you can't make reproducible dev environment in 2025 - it is 100% skill issue.
- corndoge 1y agoFor 1), how? I'm specifically interested in how you handle packages that use C extensions that link system libraries.
- Tractor8626 1y agoIn such cases I use either docker or mmdebstrap.
- corndoge 1y agoNix would work too, and that fact touches on one of the main advantages of Nix - it solves the problem at a low enough level that it works in all cases.
- Tractor8626 1y agoThere is hidden assumption what using one tool for everything makes things easier. Does it though? If using one tool is harder than using several - there is no advantage here.
- __MatrixMan__ 1y agoHaving to think about docker's hashing/caching scheme and also pip's and also npm's and to apply them each separately in CI and in a local environment and in dev/stage/prod... for a large repo that's a lot of work. Easy to overlook whichever one you're less concerned about at the time and put the repo in some kind of inconsistent state where something works here but not there. There's a lot to be said for having a single lockfile for all of them.
- Tractor8626 1y agoNo. It is not nearly as hard as you make it sound. If I had to work with such mess of a project - I wouldnt bother with package managers at all. I just download and commit all dependencies to repo. If dependencies are not supposed to change anyway - what is the point of downloading them from all over internet each time?