diff --git a/docs/installation/install.md b/docs/installation/install.md index 5c8e3cd7..c8459de3 100644 --- a/docs/installation/install.md +++ b/docs/installation/install.md @@ -7,8 +7,6 @@ page_id: install This project requires Python 3.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. - ## Platform Prerequisites ### Ubuntu/Linux @@ -61,44 +59,72 @@ The client requires Raspberry Pi Trixie or more recent. On Raspberry Pi Trixie i USB permissions need to be set as described above for Ubuntu/Linux. -## Installation Methods +## Installation -### From PyPI (Recommended) +#### Which method should I choose? +- **Just trying it out?** Use the Quick Start with `uvx`. +- **Regular user?** Use Standard Installation. +- **Developer?** Use Development Installation. -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: +### Quick Start (Recommended) -```bash -pip install cfclient -``` +The easiest way to run the client is with `uvx`, which automatically handles installation and always runs the latest version: -For macOS specifically: +1. Install `uv` by following the [official installation guide](https://docs.astral.sh/uv/getting-started/installation/). +2. Run the client: ```bash -python3 -m pip install cfclient + uvx cfclient ``` -The client can then be launched from a console with `cfclient` or `python3 -m cfclient.gui`. +This method requires no manual installation or virtual environment setup. The client runs directly and cleans up afterward. -### From Source (Development) +### Standard Installation -If you are planning to do development work with the cfclient, install from source. +For regular use or if you prefer a permanent installation, install from PyPI using `pip`. -#### Clone the repository -```bash -git clone https://github.com/bitcraze/crazyflie-clients-python -cd crazyflie-clients-python -``` +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. +2. Install the client using pip, either by running: + ```bash + pip install cfclient + ``` + or, for macOS specifically: + ```bash + python3 -m pip install cfclient + ``` +3. After installation, run the client with: + ```bash + cfclient + ``` + or + ```bash + python3 -m cfclient.gui + ``` -#### Install the client from source +### Development Installation (From Source) -For basic installation: -```bash -pip install -e . -``` +If you are planning to do development work with the cfclient, install from source. -For development (includes additional tools): -```bash -pip install -e .[dev] -``` +1. Clone the repository + + ```bash + git clone https://github.com/bitcraze/crazyflie-clients-python + cd crazyflie-clients-python + ``` +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. +3. Install the client from source + + For basic installation: + ```bash + pip install -e . + ``` + For development (includes additional tools): + ```bash + pip install -e .[dev] + ``` +4. After installation, run the client with: + ```bash + cfclient + ``` **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.