Project

General

Profile

ChirpOnLinux » History » Version 35

Tony Fuller, 02/12/2024 11:19 AM
pipx cannot be installed via pip if the python env is managed

1 1 Dan Smith
# Running CHIRP on Linux
2 18 Dan Smith
{{>toc}}
3 1 Dan Smith
4
This page describes how to get the newer python3-based CHIRP-next running on Linux.
5
6 18 Dan Smith
## 1. Install distro packages
7 1 Dan Smith
8 18 Dan Smith
### Debian, Ubuntu, Mint, Raspbian, etc
9 1 Dan Smith
10
```
11 22 Dan Smith
sudo apt install git python3-wxgtk4.0 python3-serial python3-six python3-future python3-requests python3-pip
12 1 Dan Smith
```
13 16 Jeffrey Vian
14 18 Dan Smith
### **Fedora and compatible**
15 1 Dan Smith
16 18 Dan Smith
This was tested on Fedora 37 with python 3.11. The same procedure should work on all current versions of fedora running python3.
17 16 Jeffrey Vian
18 1 Dan Smith
```
19 21 Jeffrey Vian
sudo dnf install python3-pip python3-wxpython4 python3-pyserial python3-yattag python3-future python3-wheel
20 1 Dan Smith
```
21 16 Jeffrey Vian
22 19 Dan Smith
## 2. Install CHIRP (and Python dependencies)
23 1 Dan Smith
24 18 Dan Smith
The next steps should work for all versions of Linux using pip, assuming you have the base dependencies from the distro installed above.
25 16 Jeffrey Vian
26 30 Dan Smith
## 2.1 For distros *without* the managed flag (Ubuntu 22.10, Debian 10 and earlier)
27 24 Dan Smith
28 21 Jeffrey Vian
Use `pip` to install chirp as your regular user.
29 25 Dan Smith
Download the latest `.tar.gz` or `.whl` (recommended) file then install it with `pip`. For example:
30 1 Dan Smith
31 16 Jeffrey Vian
```
32 26 Dan Smith
pip install ./chirp-20230509-py3-none-any.whl
33 4 Masen Furer
```
34
35 24 Dan Smith
## 2.2 For distros *with* the managed flag (Ubuntu 23.04, Debian 11 and later)
36
37
You must use `pipx` to install chirp separated from the system python environment. However, because some libraries from the system environment are required (packages from above) you must use the flag to enable their use. Use of the wheel download is recommended.
38
39
```
40 35 Tony Fuller
# sudo apt install pipx
41
# OR
42
# sudo dnf install pipx
43 26 Dan Smith
pipx install --system-site-packages ./chirp-20230509-py3-none-any.whl
44 24 Dan Smith
```
45
46 29 Dan Smith
## 3. Run chirp
47
48 16 Jeffrey Vian
Now you can run chirp once from the command line with:
49 18 Dan Smith
50 1 Dan Smith
```
51 24 Dan Smith
~/.local/bin/chirp
52 18 Dan Smith
```
53 16 Jeffrey Vian
54 1 Dan Smith
The first time chirp is launched it should pop up a prompt to add a `.desktop` file for the current user. Select **yes** if you want to have the icon installed into the application menu (the *activities* menu in gnome) to launch chirp.
55 18 Dan Smith
56 24 Dan Smith
If you want to run chirp from the command line and simply using `chirp` does not work please check your `PATH` to verify it is complete. If not that can be fixed by editing `~/.bashrc` or `~/.bash_profile` to add that to the existing `$PATH`.  If the `PATH` is configured properly then chirp should be able to launch with the `chirp` command. Common locations would be `~/.local/bin` and `/usr/local/bin`.
57 18 Dan Smith
58 1 Dan Smith
Following the steps above (without `sudo`) installs the app as a user level app and it will only be accessible to that user. Using `sudo` for a system-wide installation is deprecated and not recommended on modern distros.
59 34 Jeffrey Vian
60
## 4. Update Chirp
61 10 Jeffrey Vian
62 1 Dan Smith
Once chirp is properly installed, upgrades to newer versions are done with two simple steps:
63 28 Dan Smith
64 33 Dan Smith
1. Download the newer file.
65 32 Dan Smith
2. Run `pip install --upgrade ./chirp-<version>.whl`
66
67
**NOTE:** `pipx` users will need to uninstall the old version before installing the new one.
68 10 Jeffrey Vian
69 29 Dan Smith
## Serial port permissions
70 10 Jeffrey Vian
71 18 Dan Smith
Note that you may need to add your users who want to use CHIRP to the group that owns the serial ports. This issue is often indicated by an "access denied" error when accessing serial port. First determine the USB port of your device, and then the following command should add your user to the proper group:
72 23 Jeffrey Vian
Note that "ttyUSB0" should be replaced with the actual device that identifies your connection to the radio and that "$USER" is a system variable that identifies the username of the individual running the command.
73 15 Jeffrey Vian
74 10 Jeffrey Vian
```
75 18 Dan Smith
sudo usermod -a -G $(stat -c %G /dev/ttyUSB0) $USER
76 9 Jeffrey Vian
```
77
78 18 Dan Smith
If that made a change, you will then need to log out and back in (or maybe even reboot) for it to take effect.
79 11 Dan Smith
80 16 Jeffrey Vian
### (Optional) Newer `wxPython`
81 9 Jeffrey Vian
82 16 Jeffrey Vian
You may want to install a newer wxPython, depending on what your distro ships. For Debian-derived distros (including Ubuntu and Mint) you can do that with a command like:
83 1 Dan Smith
```
84
pip3 install -U -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-20.04 wxPython
85
```
86 24 Dan Smith
87
This is only recommended for older distros, like Ubuntu 20.04.
88
89 16 Jeffrey Vian
Check the [directory listing](https://extras.wxpython.org/wxPython4/extras/linux/gtk3/) for other distro versions and use the closest match to what you're on. **NOTE** that this will not work for non-x86_64 machines (like the Raspberry Pi) as there are no binary builds for those platforms.