You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: INSTALLATION.md
+30-7Lines changed: 30 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,7 @@
2
2
3
3
[Basics](#basics) |
4
4
[Prerequisites](#prereqs) |
5
+
[User Privileges](#userpriv) |
5
6
[Install with pip](#pip) |
6
7
[Install with pipx](#pipx) |
7
8
[Install with script](#script) |
@@ -60,6 +61,7 @@ The exact location of the site_packages and binary directories will depend on th
60
61
61
62
In the following, `python3` & `pip` refer to the Python 3 executables. You may need to substitute `python` for `python3`, depending on your particular environment (*on Windows it's generally `python`*).
62
63
64
+
- Graphical User Interface (window system / manager)
63
65
- Python >= 3.10⁴
64
66
- Tk (tkinter) >= 8.6⁵ (*tkinter is a commonly used library for developing Graphical User Interfaces (GUI) in Python*)
65
67
- Screen resolution >= 640 x 480 (VGA); Ideally 1920 x 1080, though at lower screen resolutions (<= 1024 width), top level dialogs will be resizable and scrollable.
@@ -95,7 +97,7 @@ Note that on MacOS, serial ports may appear as `/dev/tty*` *or* `/dev/cu*`. To u
95
97
96
98
### Linux (including Raspberry Pi OS)
97
99
98
-
Some Linux distributions may not include the necessary pip, venv, tkinter, Pillow or spatialite libraries by default. They may need to be installed separately, e.g. for Debian-based distibutions, a combination of some or all of the following:
100
+
Some older Linux distributions may not include all the necessary pip, venv, tkinter, Pillow or spatialite libraries by default e.g. for Debian-based distibutions, a combination of some or all of the following:
To access the serial port (`/dev/tty*`) on most Linux platforms, you will need to be a member of whichever group or "`Gid`" the `/dev/tty*` device belongs to. Failure to do this will typically result in an error `[Errno 13] could not open port /dev/ttyACM0 [Errno 13] permission denied /dev/ttyACM0`
115
117
116
-
To check and set the necessary group permissions:
118
+
To check and set the necessary group permissions (*substitute your particular serial port for*`ttyACM0`):
117
119
118
120
```shell
119
121
stat /dev/ttyACM0 | grep Gid
120
122
```
121
-
`Access: (0660/crw-rw----) Uid: ( 0/ root) Gid: ( 20/ dialout)` <-- group in this case is `dialout`; add user to this group using usermod (*you may have to log out and in again for this to take effect*):
123
+
`Access: (0660/crw-rw----) Uid: ( 0/ root) Gid: ( 20/ dialout)` <-- group in this case is `dialout`
124
+
125
+
Add your user to this group using usermod (*you will need to log out and in again for this to take effect*):
122
126
123
127
```shell
124
-
sudo usermod -a -G dialout myuser
128
+
sudo usermod -aG dialout myuser
125
129
```
126
130
127
-
For Debian-based platforms, the group is normally `dialout`; on Arch-based platforms it may be`uucp` or `tty`.
131
+
For Debian-based platforms, the group is normally `dialout` or `tty`; on Arch-based platforms it is normally`uucp`.
128
132
129
133
Other than this, no special privileges are required.
**NB**: It is recommended to use the form `python3 -m pip install` (*or less ambiguously `python3.*`, where `*` is the Python minor version e.g. `python3.13`*) rather than simply `pip3 install`, particularly if you have multiple Python environments on your platform.
147
152
148
153
To deactivate the virtual environment:
149
154
@@ -221,17 +226,35 @@ pipx will typically create a virtual environment in the user's home folder e.g.
221
226
The following scripts require sudo/admin privileges and will prompt for the sudo password.
222
227
223
228
### Debian Linux
224
-
An example [installation shell script](https://github.com/semuconsulting/PyGPSClient/blob/master/examples/pygpsclient_debian_install.sh) is available for use on most vanilla 64-bit Debian-based environments with Python>=3.10, including Raspberry Pi and Ubuntu. To run this installation script, download it to your Raspberry Pi or other Debian-based workstation and - from the download folder - type:
229
+
An [installation shell script](https://github.com/semuconsulting/PyGPSClient/blob/master/examples/pygpsclient_debian_install.sh) is available for use on most vanilla 64-bit Debian-based desktop environments, including Raspberry Pi OS Trixie and Ubuntu LTS. The script...
230
+
- Installs all necessary Python system libraries.
231
+
- Installs PyGPSClient into a virtual environment in the user's home directory and adds this environment to the user's PATH.
232
+
- Adds user to the relevant /dev/tty* group.
233
+
- Creates a desktop application launcher which can be accessed from the Applications..Other menu.
A similar [installation shell script](https://github.com/semuconsulting/PyGPSClient/blob/master/examples/pygpsclient_arch_install.sh) is available for use on most vanilla 64-bit Arch-based desktop environments (e.g. Xfce / LightDM):
A similar [installation shell script](https://github.com/semuconsulting/PyGPSClient/blob/master/examples/pygpsclient_macos_install.sh) is available for MacOS 13 or later running a ZSH shell (*Homebrew or MacPorts are **NOT** required*). This will also install the latest official version of Python 3 with tkinter 8.6. Download the script to your Mac and - from the download folder - type:
253
+
A similar [installation shell script](https://github.com/semuconsulting/PyGPSClient/blob/master/examples/pygpsclient_macos_install.sh) is available for MacOS 13 or later running a ZSH shell (*Homebrew or MacPorts are **NOT** required*). This will also install the latest official version of Python 3 with tkinter 8.6:
0 commit comments