3 ms·
> For example, by running ``sudo pacman -Syu`` I upgrade everything that is installed, including the kernel, standard libraries, Python packages, language packa
by PittleyDunkin 2y ago
> For example, by running ``sudo pacman -Syu`` I upgrade everything that is installed, including the kernel, standard libraries, Python packages, language packages, manpages and so on.
I actually view this as a liability. System package management should be distinct from userspace package management.
- lmz 2y agoAgreed. Joining system and user packages leads to cases like "how did my python upgrade break yum".
- lucasoshiro 2y agoIt won't happen if the packages are well maintained. Note that if you want a different version for your project you should use a pyenv or similar and have finer control on its dependencies
- lmz 2y agoA pyenv is separating system and user / project packages. You could take it one step further and use pkgsrc, Nix, or homebrew. That way you can get a newer redis/RabbitMQ/whatever not just newer python.
- lucasoshiro 2y agoYou can still use pip inside pyenv or similar. Pacman would install the system-wide stuff, so you won't need to bother about the libraries that a package that you have installed is using. Mentioning this classic XKCD: https://xkcd.com/1987/ https://xkcd.com/1987/. This only made sense after using a Mac. While using Manjaro it was quite organized: only the pacman-installed libraries and the ones of my user projects. Now in Mac I have the default Python, the several Python versions installed from several dependencies in Homebrew, and so on.
- PittleyDunkin 2y ago> You can still use pip inside pyenv or similar. That seems to be the worst of all possible worlds.
- lucasoshiro 2y agoPerhaps not the best, which could be maybe something like Nix. But this is the opposite of what we have that in Mac
- PittleyDunkin 2y agoI think my point was: > Pacman would install the system-wide stuff Most system-wide stuff is userspace. I was more referring to a divide between the OS-core (kernel, drivers, init scripts) and userspace. Upgrading userspace should not incidentally not allow the system to boot.