Hacker News new | ask | show | jobs
by Spivak 1418 days ago
> Poetry thing because…

pip freeze doesn't pin transitive dependencies and so you have to pick something and Poetry is fine and actively developed.

> virtualenv, because that's just what you have to do when dealing with messed up dependencies

No that's what you do when you have multiple dependency trees for different projects on your system. Somehow people got the message that global variables were bad but still think that "random bullshit strewn on my specific system" is a great way to make software that works on other people's machines.

> Because if you ever happen upon something not covered by the Tool

You write your own hook because it's entirely plugin based.

> tox, because when you have special tool to handle dependencies, what you just need

A tool that doesn't pollute your development environment with testing packages and doesn't run your tests in your development environment, hygiene that before this tool basically nobody bothered to do because it was tedious.

1 comments

> pip freeze doesn't pin transitive dependencies

AFAIK it lists all installed packages and hence pins all dependencies.

Yes, unfortunately all dependencies are frozen at the same level, so it becomes really hard to distinguish between what your actual dependencies, and sub-dependencies, and sub-sub-dependencies are.
Use pip install -c constraints.txt.