Open georgkrause opened 1 week ago
The thing is, there are quite a few installers out there, which each have their benefits. Why not uv
, or poetry
😉
Pip is usually backed into Python, and its what most people know. Maybe we can add a line: "You can replace pip
with your favorite packaging tool", or something along that line. What do you think?
Why not uv, or poetry
Poetry is built as a development tool, while uv has even more features and functionalities. Also, pipx is developed by the very same people who develop pip. Its is basically recommended for externally managed vens (see PEP0668 ). As far as I know most distributions ship pipx next to python or with an easy to install binary package, which isn't the case for poetry and even less for uv.
Also I'd argue that people who use uv or poetry might know what they do anyways and ignore the Readme. However, people who are not exactly sure what is happening might run the command and run into the following error with python 3.12 and above:
× This environment is externally managed
╰─> To install Python packages system-wide, try 'pacman -S
python-xyz', where xyz is the package you are trying to
install.
If you wish to install a non-Arch-packaged Python package,
create a virtual environment using 'python -m venv path/to/venv'.
Then use path/to/venv/bin/python and path/to/venv/bin/pip.
If you wish to install a non-Arch packaged Python application,
it may be easiest to use 'pipx install xyz', which will manage a
virtual environment for you. Make sure you have python-pipx
installed via pacman.
To frame it differently, the current Readme tells people to run an install command which will fail in some cases, a growing number of cases! And even if it doesn't fail, its just simply a bad idea to globally install a package like this. pipx
solves all those problems.
The readme suggests to install timetagger using
pip
, however it would be much better to usepipx
instead, because it will be installed in its own encapsulated virtual environment instead of as a user space package.pipx
might need to be installed, first, however its the recommended way to install python applications.I am willing to submit a Pull Request as soon as willingness to accept the patch is visible :)