3 ms·
Yes and no. In a way a system interpreter is just like a compiler. It's there to enable the user to run programs written in a particular language. The trouble
by globular-toast 2y ago
Yes and no. In a way a system interpreter is just like a compiler. It's there to enable the user to run programs written in a particular language.
The trouble usually starts when a program needs some third party library. So maybe the rule is more like: the system libraries are for the system, not for you. Unless, of course, they are -dev libraries. I do believe modern Ubuntu won't even let users pip install stuff, which should improve things (Gentoo has been configured like this for years).
- guappa 2y agoWell you can easily install python3-whatever and use it in a script on debian. What's the problem? pip works fine if used in a venv. They finally blocked installing stuff system wide because it was creating mess. https://xkcd.com/1987/ https://xkcd.com/1987/
- globular-toast 2y agoThe post is about out of the box functionality. Requiring a user to also install some system package kinda defeats the purpose here. Plus it's usually not the same version of the library that was expected by the developer of the script. Even used in a venv pip creates a mess as people start creating ad hoc environments and don't really know how to recreate them (cause of many "works for me" type problems). I always advise people to take the extra step of adding a new dependency to pyproject.toml or requirements.txt and then doing `pip install -e .` or `pip install -r requirements.txt`.
- guappa 2y ago> it's usually not the same version of the library that was expected by the developer of the script If the developer of the script is targeting that platform, it is exactly the expected version. Perhaps you should stop using libraries that break API compatibility very often, since it's an indicator of low skill of the authors.