Python devs roast node_modules yet suggest 400-MB Anaconda virtualenvs instead
Description
Two-panel meme with a fiery orange apocalypse backdrop. In the top panel, a large green folder icon titled “node_modules” sits left while a skeletal business-suit figure labelled “Python devs” looks disgusted; a black monospace caption reads, “What an awful and impractical way to manage dependencies.” In the bottom panel, the same “Python devs” figure now gestures confidently; the caption says, “So, as I was saying, just install Anaconda to manage your Python installs and use a virtualenv on each project to treat them as a separate Python install and to have different versions of a package. It's just about 400mb each.” The humor highlights the irony that Python engineers criticize JavaScript’s bulky node_modules directory while recommending an equally storage-heavy Anaconda + per-project virtual-env workflow, poking fun at cross-language dependency management pain
Comments
25Comment deleted
Every time a Python dev sneers at node_modules, Conda fires up a 400 MB env complete with a spare Python interpreter, BLAS, and a bonus Fortran compiler - because nothing says “lean dependency management” like shipping a micro-distro for hello_world.py
The real horror isn't the skeleton's appearance - it's explaining to your DevOps team why your Python microservice needs a 2GB Docker image because of conda dependencies, while simultaneously maintaining three different requirements.txt files for pip, conda, and poetry, each slightly incompatible with the others
Python developers roasting node_modules for being bloated while casually recommending a 400MB Anaconda environment per project is peak 'do as I say, not as I do' energy. At least node_modules has the decency to be honest about its disk space addiction - it doesn't pretend to be a 'lightweight solution' while shipping an entire scientific computing stack just to run Flask
In JS you vendor the world, in Python you vendor a world - either way du -sh is the only observability metric you truly trust
Node_modules gets the villain edit, but Python counters with conda's 'isolated' 400MB-per-project tax - truly, progress in dependency purgatory
Conservation of dependency pain: JavaScript nests 100k tiny packages in node_modules; Python answers with a fresh CPython + BLAS per repo via conda/venv - Docker just sends you the storage bill
Ml fans be like Comment deleted
https://drewdevault.com/2021/11/16/Python-stop-screwing-distros-over.html Comment deleted
I'm a python dev and I fucking hate pip, anaconda, venv, etc. It's so incredibly shit in every fucking way. THEY DEPRECATED SEARCHING FOR PACKAGES I cannot even Comment deleted
they what. Comment deleted
try pip search commoncodes Comment deleted
.sh pip search commoncodes TGPy> ERROR: XMLRPC request failed [code: -32500] RuntimeError: PyPI no longer supports 'pip search' (or XML-RPC search). Please use https://pypi.org/search (via a browser) instead. See https://warehouse.pypa.io/api-reference/xml-rpc.html#deprecated-methods for more information. Return code: 1 Comment deleted
Oh fkn yes. This is really very convenient to search through the browser when you are sitting in the terminal. I really want to launch my browser every time I need to find some package. Comment deleted
python packaging index? more like penis penis iiii Comment deleted
conda? more like con't do basic shit Comment deleted
venv will it stop? Comment deleted
It's really fkin terrible. I was having some dependency resolution issues and suddenly everything stopped working. I removed all the packages using pip freeze pist and then it broke system packages which I then manually had to install. Why don't they provide dependency resolution like the others do? I mean they can name the current release of numpy as is but a previous release as numpy-3.27 so that older packages can use it. Comment deleted
I upgraded from py3.10 to py3.11 recently and somehow it successfully installed itself but forgot to carry over some packages. I then had to reinstall every single fucking python package that wasn't in the main arch repos. That meant rebuilding and reinstalling everything from the AUR and pip itself. Comment deleted
the only reason packages from the main repos weren't affected is because they're synchronized with the main python package, meaning every time python itself updates, ALL python packages do too, simply to move where the files are located Comment deleted
yay -S $(pacman -Qoq /usr/lib/python3.10) --answerclean All I too had to copy vkbasalt from 3.10 to 3.11. It worked. Comment deleted
yes, that's what I ended up doing (the paru equivalent of it, technically) Comment deleted
(also I filtered for ^python-.* instead of files in the python lib directory, technically) Comment deleted
more like big pp just backwards Comment deleted
Why just not delete python?👍🏻 Comment deleted
pnpm > npm Comment deleted