I'm the developer of a Python GUI application. I'd like users of my application to be able to install the application using pip because not all of its dependencies have made it into Debian yet, and I don't anticipate that situation changing any time soon.
A PPA would be a good idea, of course, but in my case that would mean creating from scratch Debian packages for Python packages that are not my own and involve things I'm certainly not skilled at, e.g. SWIG.
The next best alternative to a PPA is Python's pip. And it works great! All the best advice says to use the
--user option when running
pip install. The pip developers say this and my impression is that Ubuntu actually defaults to this.
However on Ubuntu I am seeing two problems when using
- The application executable is being installed into
~/.local/bin, which is not on the default path in Ubuntu, in contrast to Fedora and possibly some other distros. (The setup.py uses setuptools'
- For some inexplicable reason, even though the
.desktopfile is in
~/.local/share/applications, the application does not show up in the Dash, even after logout. Unfortunately the man pages installed to
~/.local/share/man/man1also don't appear when the user runs man from the terminal.
I can ask Ubuntu users to create a
~/bin directory and add a symlink to my application in
~/.local/bin, but that won't solve the problem of the man page or the lack of a way to launch the application from the Dash.
How do I advise my users to best solve these problems?
The exact command I am advising users to install with is
python3 -m pip install --user foo-1.0.tar.gz