3 ms·
Relieving your Python packaging pain
- physicsguy 3y agoI dont agree with quite a bit of this. 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.
- david-j-vujic 3y agoI think I understand the reasoning behind the strict usage of pip and the Python version usage, keeping things less complicated & without much surprises. On the other hand, keeping it safe with not using the latest stable Python is sometimes painful. New features are often good things for development and code readability, such as the quite new merge dictionaries syntax and less verbose usage of the typing module. 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.