diff --git a/.github/script/install_dependencies.sh b/.github/script/install_dependencies.sh
index 7c5e6f9..85a8179 100755
--- a/.github/script/install_dependencies.sh
+++ b/.github/script/install_dependencies.sh
@@ -1,4 +1,12 @@
#/usr/bin/bash
cd $HOME
-apt-get install curl libcurl4-openssl-dev
-apt-get install python3-fastapi python3-uvicorn
+apt-get install -y curl libcurl4-openssl-dev
+
+# Manage Python dependencies with pipx
+# https://github.com/pypa/pipx
+apt-get update
+apt-get install -y pipx
+pipx ensurepath
+pipx ensurepath --global
+
+pipx install fastapi uvicorn httpx requests coverage
diff --git a/schunk_egu_egk_gripper_dummy/README.md b/schunk_egu_egk_gripper_dummy/README.md
index d77e51f..66e8d24 100644
--- a/schunk_egu_egk_gripper_dummy/README.md
+++ b/schunk_egu_egk_gripper_dummy/README.md
@@ -4,7 +4,7 @@ A minimalist protocol simulator for system tests.
## Dependencies
```bash
-pip install fastapi uvicorn
+pip install --user fastapi uvicorn
```
## Getting started
@@ -16,7 +16,7 @@ pip install fastapi uvicorn
## Run tests locally
```bash
-pip install pytest httpx coverage
+pip install --user pytest httpx coverage
```
```bash
diff --git a/schunk_egu_egk_gripper_tests/package.xml b/schunk_egu_egk_gripper_tests/package.xml
index 98191f3..b04fa99 100644
--- a/schunk_egu_egk_gripper_tests/package.xml
+++ b/schunk_egu_egk_gripper_tests/package.xml
@@ -12,6 +12,7 @@
ament_lint_auto
schunk_egu_egk_gripper_driver
+ schunk_egu_egk_gripper_dummy
launch
launch_ros
launch_pytest