5 ms·
venv, pip, and requirements.txt are just fine.
by andrewmcwatters 2y ago
venv, pip, and requirements.txt are just fine.
- jvolkman 2y agoUnless you want reproducible installations on multiple platforms.
- odie5533 2y agocries in CI
- throwawaymaths 2y agoNo, they're not. Just teaching a beginner what the hell a venv is is a nightmare
- thomasfromcdnjs 2y agoI'm about 20 years into coding, and still don't "actually" know what a venv is haha
- andrewmcwatters 2y agovenv really doesn't seem meaningfully different than jenv or nvm to me.
- throwawaymaths 2y agoAlso bad. Modern languages have per-prpject dependencies.
- alexey-salmin 2y agoI don't mind venv and pip — they may be inconvenient but at least they work. The requirements.txt however is essentially broken for any project that changes in time. If you don't freeze transitive dependencies versions your builds break with no prior notice. If you do, transitive dependencies stay there forever even when not needed anymore.
- globular-toast 2y agopip-tools solves this problem.
- scubbo 2y agoI am fortunate enough to not know why you're wrong (having only ever used Python for my own personal projects); but I've seen enough people claim that (in a corporate setting) you are, to be confident that they're right.
- VagabundoP 2y agoEven with your own personal projects it can become a mare. If you like to code interstitial (in those quiet moments between your day job) and hot desk and have a multi platform environment its pain to just use those tool and setup for each new place - I code on Windows (+wsl), MacOS and linux sometimes. I uses github privately to sync everything. Its just me. Rye is much quick to get started on a machine; install rye+git etc, pull project from git, rye sync. The sync command does all the lifting, installing python version that I set, setting up a venv and installing deps.
- deleted 2y ago[deleted]