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: docs/installation/install.md
+53-27Lines changed: 53 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,8 +7,6 @@ page_id: install
7
7
8
8
This project requires Python 3.10+.
9
9
10
-
> **Recommendation**: Use a Python virtual environment to isolate dependencies. See the [official Python venv documentation](https://docs.python.org/3/library/venv.html) for setup instructions.
11
-
12
10
## Platform Prerequisites
13
11
14
12
### Ubuntu/Linux
@@ -61,44 +59,72 @@ The client requires Raspberry Pi Trixie or more recent. On Raspberry Pi Trixie i
61
59
62
60
USB permissions need to be set as described above for Ubuntu/Linux.
63
61
64
-
## Installation Methods
62
+
## Installation
65
63
66
-
### From PyPI (Recommended)
64
+
#### Which method should I choose?
65
+
-**Just trying it out?** Use the Quick Start with `uvx`.
66
+
-**Regular user?** Use Standard Installation.
67
+
-**Developer?** Use Development Installation.
67
68
68
-
If you plan to use the client to control the Crazyflie, we highly recommend installing the latest release using pip, as this is well tested and stable:
69
+
### Quick Start (Recommended)
69
70
70
-
```bash
71
-
pip install cfclient
72
-
```
71
+
The easiest way to run the client is with `uvx`, which automatically handles installation and always runs the latest version:
73
72
74
-
For macOS specifically:
73
+
1. Install `uv` by following the [official installation guide](https://docs.astral.sh/uv/getting-started/installation/).
74
+
2. Run the client:
75
75
```bash
76
-
python3 -m pip install cfclient
76
+
uvx cfclient
77
77
```
78
78
79
-
The client can then be launched from a console with `cfclient` or `python3 -m cfclient.gui`.
79
+
This method requires no manual installation or virtual environment setup. The client runs directly and cleans up afterward.
80
80
81
-
### From Source (Development)
81
+
### Standard Installation
82
82
83
-
If you are planning to do development work with the cfclient, install from source.
83
+
For regular use or if you prefer a permanent installation, install from PyPI using `pip`.
1. Create and activate a Python virtual environment to isolate dependencies. See the [official Python venv documentation](https://docs.python.org/3/library/venv.html) for setup instructions.
86
+
2. Install the client using pip, either by running:
87
+
```bash
88
+
pip install cfclient
89
+
```
90
+
or, for macOS specifically:
91
+
```bash
92
+
python3 -m pip install cfclient
93
+
```
94
+
3. After installation, run the client with:
95
+
```bash
96
+
cfclient
97
+
```
98
+
or
99
+
```bash
100
+
python3 -m cfclient.gui
101
+
```
90
102
91
-
#### Install the client from source
103
+
### Development Installation (From Source)
92
104
93
-
For basic installation:
94
-
```bash
95
-
pip install -e .
96
-
```
105
+
If you are planning to do development work with the cfclient, install from source.
2. Create and activate a Python virtual environment to isolate dependencies. See the [official Python venv documentation](https://docs.python.org/3/library/venv.html) for setup instructions.
114
+
3. Install the client from source
115
+
116
+
For basic installation:
117
+
```bash
118
+
pip install -e .
119
+
```
120
+
For development (includes additional tools):
121
+
```bash
122
+
pip install -e .[dev]
123
+
```
124
+
4. After installation, run the client with:
125
+
```bash
126
+
cfclient
127
+
```
102
128
103
129
**Note**: Avoid running pip with sudo, as this would install dependencies system-wide and could cause compatibility problems. If pip requests administrator password, you should run the command with `--user` (for example `python3 -m pip install --user -e .`). This should not be required on modern Python distributions though since the `--user` flag seems to be the default behavior.
0 commit comments