Chirp install on Linux failure, again.
Evening...
OK, I've had the time to upgrade from LMDE5 to LMDE6, after uninstalling the earlier resident Chirp, and some other tools that were said to conflict with the upgrade process. (Virtualbox for one...)
Overall, the upgrade went well. The system is stable and has been reliably working well for the last week, so time to re-install what was removed prior to the upgrade. So far so good, with other software... Some of it my own Python ramblings, that works just as it did on LMDE5.
("LMDE", is Linux Mint Debian Edition. Mint without any Ubuntu code, just Debian as it's basis, plus the Mint parts.)
Anyway... Chirp chirp-20240827-py3-none-any.whl Fresh download an hour ago.... (1,805,686 bytes)
Following the instructions at:- https://chirpmyradio.com/projects/chirp/wiki/ChirpOnLinux
This happens....
*dave@hp-compaq-sfdt*:*~/Downloads*$ pipx install --system-site-packages ./chirp-20240827-py3-none-any.whl Traceback (most recent call last): File "/usr/bin/pipx", line 8, in <module> sys.exit(cli()) ^^^^^ File "/usr/lib/python3/dist-packages/pipx/main.py", line 819, in cli return run_pipx_command(parsed_pipx_args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipx/main.py", line 202, in run_pipx_command return commands.install( ^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipx/commands/install.py", line 30, in install package_name = package_name_from_spec( ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipx/commands/common.py", line 333, in package_name_from_spec package_name = venv.install_package_no_deps( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipx/venv.py", line 268, in install_package_no_deps old_package_set = self.list_installed_packages() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipx/venv.py", line 348, in list_installed_packages pip_list = json.loads(cmd_run.stdout.strip()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/json/__init__.py", line 346, in loads return _default_decoder.decode(s) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) *dave@hp-compaq-sfdt*:*~/Downloads*$
That looks a bit "terminal", so what's awry this time?
python3 is now reporting version 3.11.2
pipx is the newest version (1.1.0-1) (That literally updated less than an hour ago!)
For now, I've installed the distro version, as I need to alter some radio settings...
That for the record, is:- CHIRP 0.3.0dev on Linux hp-compaq-sfdt 6.1.0-23-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.99-1 (2024-07-15) x86_64 (Python 3.11.2)
But it does the job for now.
Comments re the .whl file install error? What is missing this time?
73.
Dave G0WBX.
*dave@hp-compaq-sfdt*:*~/Downloads*$ pipx install --system-site-packages ./chirp-20240827-py3-none-any.whl Traceback (most recent call last): File "/usr/bin/pipx", line 8, in <module> sys.exit(cli()) ^^^^^ File "/usr/lib/python3/dist-packages/pipx/main.py", line 819, in cli return run_pipx_command(parsed_pipx_args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipx/main.py", line 202, in run_pipx_command return commands.install( ^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipx/commands/install.py", line 30, in install package_name = package_name_from_spec( ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipx/commands/common.py", line 333, in package_name_from_spec package_name = venv.install_package_no_deps( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipx/venv.py", line 268, in install_package_no_deps old_package_set = self.list_installed_packages() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipx/venv.py", line 348, in list_installed_packages pip_list = json.loads(cmd_run.stdout.strip()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/json/__init__.py", line 346, in loads return _default_decoder.decode(s) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
As best I can tell, this is a failure in pipx itself, trying to enumerate the packages on your system (or in the venv it has created). If you haven't deleted the old one from ~/.local/pipx you might try that, as perhaps you have residue left over from the system upgrade that is confusing it.
Otherwise, I'd recommend asking the pipx people. I just tried it locally with today's wheel (on jammy):
dan@serverdesk:~$ pipx install --system-site-packages ./chirp-20240827-py3-none-any.whl installed package chirp 20240827, installed using Python 3.10.12 These apps are now globally available - chirp - chirpc - experttune
--Dan
I just tested a new clean install on fedora. The file I downloaded was the same you showed chirp-20240827-py3-none-any.whl
Note that I did one thing differently. On fedora I chose to install pip instead of pipx. I then performed the installation with ` pip install ./chirp-20240827-py3-none-any.whl` and it pulled in and installed a few other python packages. When that completed I tested the installation with the command "chirp" and it properly opened the app and requested to install the desktop icon file for launching. After closing it I tested the app with the newly installed icon and that worked as well.
I don't have the same linux distro as you do but it seems that things work as expected.
The only additional python packages that were installed by installing chirp were yattag, pyserial, and suds which I chose to install as system packages Jeff KI7GJG
On Tue, Aug 27, 2024 at 1:24 PM Dan Smith via Users < users@lists.chirpmyradio.com> wrote:
*dave@hp-compaq-sfdt*:*~/Downloads*$ pipx install
--system-site-packages ./chirp-20240827-py3-none-any.whl
Traceback (most recent call last): File "/usr/bin/pipx", line 8, in <module> sys.exit(cli()) ^^^^^ File "/usr/lib/python3/dist-packages/pipx/main.py", line 819, in cli return run_pipx_command(parsed_pipx_args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipx/main.py", line 202, in
run_pipx_command
return commands.install( ^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipx/commands/install.py", line
30, in install
package_name = package_name_from_spec( ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipx/commands/common.py", line
333, in package_name_from_spec
package_name = venv.install_package_no_deps( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipx/venv.py", line 268, in
install_package_no_deps
old_package_set = self.list_installed_packages() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipx/venv.py", line 348, in
list_installed_packages
pip_list = json.loads(cmd_run.stdout.strip()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/json/__init__.py", line 346, in loads return _default_decoder.decode(s) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
As best I can tell, this is a failure in pipx itself, trying to enumerate the packages on your system (or in the venv it has created). If you haven't deleted the old one from ~/.local/pipx you might try that, as perhaps you have residue left over from the system upgrade that is confusing it.
Otherwise, I'd recommend asking the pipx people. I just tried it locally with today's wheel (on jammy):
dan@serverdesk:~$ pipx install --system-site-packages ./chirp-20240827-py3-none-any.whl installed package chirp 20240827, installed using Python 3.10.12 These apps are now globally available - chirp - chirpc - experttune
--Dan _______________________________________________ Users mailing list users@lists.chirpmyradio.com https://lists.chirpmyradio.com/postorius/lists/users.lists.chirpmyradio.com To unsubscribe, send an email to users-leave@lists.chirpmyradio.com To report this email as off-topic, please email users-owner@lists.chirpmyradio.com List archives: https://lists.chirpmyradio.com/hyperkitty/list/users@lists.chirpmyradio.com/
Note that I did one thing differently. On fedora I chose to install pip instead of pipx.
Just a reminder that Fedora is the _only_ remaining linux distro on which this still works. It won't work on anything debian-derived (which includes his mint system, ubuntu, etc), arch, gentoo, etc. Even homebrew on macos has gone the externally-managed route. More details about fedora here and on the linked pages:
https://discussion.fedoraproject.org/t/status-of-marking-the-base-python-env...
What I gather is that since fedora's packaging tool is written in python the flag breaks their own stuff in certain situations. Oh the irony :)
Either way, we just need to be clear that anyone *not* on fedora will have to run pip with --break-system-packages to make that route work, which I would definitely not recommend.
After closing it I tested the app with the newly installed icon and that worked as well.
Thanks for the extra data point in support of it not being a CHIRP issue :)
Given we've had a couple megathreads on Linux issues not specific to chirp lately, I'm hoping we can avoid another one here again since 98% of the subscribers are focused on Windows and MacOS. The build system installs the candidate wheel via pipx as part of the tests it runs, so ideally anything related to that will cause a build abort and it'll get noticed.
--Dan
Yeah, I did not try the 'pipx install --system-site-packages ...` command since I know that pip on fedora installs packages as a user installed package when not using sudo or as root. Those packages are installed under ~/.local/lib/python3.12/site-packages which mimics the location of system packages on fedora.
I will try the pipx command on another VM to test how that works on fedora.
Jeff KI7GJG
On Tue, Aug 27, 2024 at 6:30 PM Dan Smith via Users < users@lists.chirpmyradio.com> wrote:
Note that I did one thing differently. On fedora I chose to install pip instead of pipx.
Just a reminder that Fedora is the _only_ remaining linux distro on which this still works. It won't work on anything debian-derived (which includes his mint system, ubuntu, etc), arch, gentoo, etc. Even homebrew on macos has gone the externally-managed route. More details about fedora here and on the linked pages:
https://discussion.fedoraproject.org/t/status-of-marking-the-base-python-env...
What I gather is that since fedora's packaging tool is written in python the flag breaks their own stuff in certain situations. Oh the irony :)
Either way, we just need to be clear that anyone *not* on fedora will have to run pip with --break-system-packages to make that route work, which I would definitely not recommend.
After closing it I tested the app with the newly installed icon and that worked as well.
Thanks for the extra data point in support of it not being a CHIRP issue :)
Given we've had a couple megathreads on Linux issues not specific to chirp lately, I'm hoping we can avoid another one here again since 98% of the subscribers are focused on Windows and MacOS. The build system installs the candidate wheel via pipx as part of the tests it runs, so ideally anything related to that will cause a build abort and it'll get noticed.
--Dan _______________________________________________ Users mailing list users@lists.chirpmyradio.com https://lists.chirpmyradio.com/postorius/lists/users.lists.chirpmyradio.com To unsubscribe, send an email to users-leave@lists.chirpmyradio.com To report this email as off-topic, please email users-owner@lists.chirpmyradio.com List archives: https://lists.chirpmyradio.com/hyperkitty/list/users@lists.chirpmyradio.com/
I also tested this using the pipx command on a newly installed and fully updated VM with Fedora 40. It did work, but NOTHING was installed under ~/.local/lib/ as was done with using pip.
Instead it appears pipx used ~/.local/share/pipx/venvs/ and subdirectories there for the installation but does not provide any usable feedback to the user during the installation process.
As far as suggestions for the OP, I would therefore suggest that the entire directory tree ~/.local/share/pipx/venvs/chirp/ be removed then reinstall chirp so that any older or broken packages from previous installations are removed and new packages and configs are installed `pipx uninstall chirp` seems to manage that.
Jeff KI7GJG
On Tue, Aug 27, 2024 at 6:30 PM Dan Smith via Users < users@lists.chirpmyradio.com> wrote:
Note that I did one thing differently. On fedora I chose to install pip instead of pipx.
Just a reminder that Fedora is the _only_ remaining linux distro on which this still works. It won't work on anything debian-derived (which includes his mint system, ubuntu, etc), arch, gentoo, etc. Even homebrew on macos has gone the externally-managed route. More details about fedora here and on the linked pages:
https://discussion.fedoraproject.org/t/status-of-marking-the-base-python-env...
What I gather is that since fedora's packaging tool is written in python the flag breaks their own stuff in certain situations. Oh the irony :)
Either way, we just need to be clear that anyone *not* on fedora will have to run pip with --break-system-packages to make that route work, which I would definitely not recommend.
After closing it I tested the app with the newly installed icon and that worked as well.
Thanks for the extra data point in support of it not being a CHIRP issue :)
Given we've had a couple megathreads on Linux issues not specific to chirp lately, I'm hoping we can avoid another one here again since 98% of the subscribers are focused on Windows and MacOS. The build system installs the candidate wheel via pipx as part of the tests it runs, so ideally anything related to that will cause a build abort and it'll get noticed.
--Dan _______________________________________________ Users mailing list users@lists.chirpmyradio.com https://lists.chirpmyradio.com/postorius/lists/users.lists.chirpmyradio.com To unsubscribe, send an email to users-leave@lists.chirpmyradio.com To report this email as off-topic, please email users-owner@lists.chirpmyradio.com List archives: https://lists.chirpmyradio.com/hyperkitty/list/users@lists.chirpmyradio.com/
participants (3)
-
Dan Smith
-
Dave B
-
Jeffrey Vian