Relieving your Python packaging pain
bitecode.dev
bitecode.dev
Using your distro’s latest Python means updating your distro significantly more frequently if you want to stay somewhat close to the latest version even if not on it. That doesn’t make sense if you’re sticking to LTS versions of a distro, which for professional rather than hobbyist work it’s almost always advisable to do barring a problem.
Pyenv was a godsend when we introduced it at work because updating Python to a new version is a simple procedure that you can carry out. Updating the CI pipeline to a new version is trivial, as is updating developers machines. It lowers the barrier to upgrading when necessary significantly.
I used to be totally with the author re: avoiding conda and using virtualenv but again, I find Poetry a better solution now since it will lock child dependencies which matters a lot when writing production code.
Keeping it simple with only using pip would work for the more straight forward & simplistic kind of projects. But you would probably want something like Poetry to have a nice Developer Experience - and the abilities of Poetry plugins like Polylith to handle monorepos and sharing code.