New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Documentation] Install with pipx #773
Comments
i think we wrote README.md installation section before we started publishing puddletag to PyPI. so what i think we should advertise it to use |
I didn't know about pipx before, but it's a longstanding recommendation not to install packages globally with And since we touched the topic of installation docs: I think the distribution packages should still be the first choice. The packagers take care of any distro specifics, and users can easily install and run it; plus it gets automatically updated (in most cases), and the If for some reason the distro-package isn't working or you want to use a newer version, the PyPI package should be next choice. At the very least I would provide instructions to install via pip in a venv, with a link to some informational resource explaining why global And lastly, for those seeking the absolute bleeding edge or wanting to contribute, instructions for a git checkout and venv setup with requirements. This a nice thing to have to easy participation, and also to point user to when asking to test a bugfix or feature. I was never fond of and would drop the git plus distro-dependencies variant. |
I decided to go with
we'll see what reactions (if any) that'll bring, but i think advertise pypi first makes sense, given we immediately release there while with distro pkgs there's always a delay (in particular close to their releases, like it's happening now in Debian) |
What's missing?
I want to suggest pipx as another alternative installation method to add to the documentation/README.md and probably the new default installation method.
Your solution
It could be as simple as:
pipx install puddletag # To run puddletag, it should be on you PATH now: puddletag
And that works well. When you know your way around Linux/FOSS and Python. More complete instructions would look like this:
Upgrading to a newer version is as easy as:
Or if you want to upgrade all the other tools you installed with pipx to do
pipx upgrade-all
. When you switch to a newer Python version (e.g. distribution release upgrade), dopipx reinstall-all
.Any alternatives?
Well there was Flatpak support which had been discussed and declined: #735
Someone is publishing a snap, not sure if that is official, but as an Ubuntu user who also uses other Linux systems like Steam Deck, the best outcome for Snapd seems to be that it will be successful on Ubuntu while every other Linux distribution seems to avoid it in favor of Flatpak or other mechanisms (static binaries, AppImage, or pipx).
Anything else?
It's apparently meant to be for CLI utilities (also supports generating Shell Completion for tools) but it works surprisingly well with Puddletag so far (I loaded up a few files and added a comment to the comment field of an album, but Puddletag worked well in a venv before and this is no different, just easier). I heard about it in talkpython.fm some time ago, but it took until today for me to look into it, because my experience with Python and Pip had been messy in the past and I'd thought it would be a nice to have that is still super complicated to implement and convince maintainers to do so. But was very simple as you can seem.
I wish you all the best for your holidays.
The text was updated successfully, but these errors were encountered: