Skip to content
DevMeme
4745 of 7590
PackageManagement Post #5200 · source on Telegram

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

25
Anonymous ★ Top Pick 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
  1. Anonymous ★ Top Pick

    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

  2. Anonymous

    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

  3. Anonymous

    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

  4. Anonymous

    In JS you vendor the world, in Python you vendor a world - either way du -sh is the only observability metric you truly trust

  5. Anonymous

    Node_modules gets the villain edit, but Python counters with conda's 'isolated' 400MB-per-project tax - truly, progress in dependency purgatory

  6. Anonymous

    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

  7. @sanspie 3y

    Ml fans be like

  8. Kademlia 3y

    https://drewdevault.com/2021/11/16/Python-stop-screwing-distros-over.html

  9. @RiedleroD 3y

    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

    1. @sylfn 3y

      they what.

      1. @RiedleroD 3y

        try pip search commoncodes

        1. @sylfn 3y

          .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

          1. @Nefrace 3y

            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.

  10. @RiedleroD 3y

    python packaging index? more like penis penis iiii

    1. @RiedleroD 3y

      conda? more like con't do basic shit

      1. @RiedleroD 3y

        venv will it stop?

        1. @prirai 3y

          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.

          1. @RiedleroD 3y

            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.

            1. @RiedleroD 3y

              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

            2. @prirai 3y

              yay -S $(pacman -Qoq /usr/lib/python3.10) --answerclean All I too had to copy vkbasalt from 3.10 to 3.11. It worked.

              1. @RiedleroD 3y

                yes, that's what I ended up doing (the paru equivalent of it, technically)

                1. @RiedleroD 3y

                  (also I filtered for ^python-.* instead of files in the python lib directory, technically)

  11. @Dark_Embrace 3y

    more like big pp just backwards

  12. valentyn 3y

    Why just not delete python?👍🏻

  13. @mpolovnev 3y

    pnpm > npm

Use J and K for navigation