Rizen54 / richfetch

A richly customisable fetch util which provides a ton lot of information.
MIT License
18 stars 1 forks source link

DRY: you've got two dependency management strategies #6

Open Eirikur opened 4 days ago

Eirikur commented 4 days ago

I was going to file an issue about the dependencies missing from requirements.txt, but then I saw your post showing an Arch CLI command installing that other set of dependencies. Maybe you have a good reason for that but I say you should go with one or the other way. Python's future seems to in virtual environments, so I think you should go that way. After all, requirements.txt becomes trustworthy documentation when you are not doing things behind its back. Not that I love virtual environments. That whole area of dependency resolution and installation is rotten across a bunch of popular language. NodeJS..... Go, Rust, Nim, aren't better. I have a bit of a crush on Nim because it implements some of the intellectual idealism from the 1950s that modern language language designers never heard of. I prefer reprogrammable languages because I can't trust the language designers to have give me what I want. That 1950's language. I found some of it in the subbasement of Emacs. How did they let decades of work accumulate on top of a language that gets lists and sequences wrong? Well, it was kind of a first try. The wrongness is that the entire CAR/CDR stuff is an implementation detail should have been invisible. Python does need it. And Python has slicing and generators and comprehensions!

Rizen54 commented 4 days ago

you're right about venvs but the problem was about running it as a terminal command where it wont be working as a venv. if you find a fix for it please let me know.

Rizen54 commented 4 days ago

I'm unable to identify the missing modules. could you please tell me which libs are missing?

Eirikur commented 4 days ago

They are missing; it's hard to spot them. setuptools is one of. I think that the full list of the missing in your arch command line. The only reason that requirements.txt and pip don't have a problem is that you hae magically installed those things. Now I'm trying to find that post of yours. It's probably in one of the repo Readmes. Found it! "If you're like me and you use arch linux and install python modules from arch repo. You can do this: sudo pacman -Sy python-py-cpuinfo python-psutil python-requests python-termcolor" I understand you about the "how do I handle venvs when my app is installed?" Question. Python's entire build/install system is ancient and needs replacing. It (and the Python core developers) come from a time when Python programs could be just one simple Python code file. Python is one of the few languages where that could work even today for some programs, but the whacky and dangerous auto-magic dependency management has taken over. Years ago I used Py2Exe when I had to deliver on Windows. Freeze is supposed to be that on Linux, but I've never used it. There are about six incompatible replacements for pip. The Open Source community doesn't have some magic that resolves this kind of technical issue with a big social component. I think (just my opinion) that you should go with the flow of main python development. I'm sorry that it is inconsistent. I think if you go with venvs, you'll be able to research the issue of install and running. You'll figure it out. I'm deep in Emacs at the moment and not doing Python. I may be moving on from Python for some more expressive (more ideas per line of code) language, but I mostly don't like what I see. I like Elm (but it is dying of anti-social leader problems). Coffeescript was brilliant. Python as imagined by a Ruby fan. Oh. Him. He's doing this now: Livescript.