Install & Compatibility
Where this runs
tested against v1.8.74 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.910 runs
installs and imports cleanly · install 0.0s · import 0.000s · 288.9MB
glibcpy 3.10–3.910 runs
installs and imports cleanly · install 10.9s · import 0.000s · 285MB
280MB installed
● package 280MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
MAVProxy
✓ import MAVProxy
✗ from MAVProxy import MAVProxy
Start MAVProxy connecting to a vehicle via a serial port (e.g., USB) or a TCP/UDP network connection (common for SITL). Replace '/dev/ttyUSB0' with your actual serial port and adjust baudrate if necessary. The '--out' parameter is useful for relaying MAVLink to other GCS applications.
mavproxy.py --master=/dev/ttyUSB0 --baudrate 57600 --aircraft MyDrone
# Or, for SITL (Software In The Loop) simulation:
mavproxy.py --master=tcp:127.0.0.1:5760 --out=udp:127.0.0.1:14550 --aircraft MySimDrone
mavproxy --version
Debug
Known issues
breakingMAVProxy officially dropped support for Python 2.x starting from version 1.8.10. Attempting to run it with Python 2 will result in syntax errors or import failures.fixEnsure you are running MAVProxy with Python 3.6 or newer. Use `python3 -m pip install mavproxy` if you have multiple Python versions.
affects: <=1.8.9 (Python 2 supported), >=1.8.10 (Python 3 only)
gotchaMany MAVProxy modules (e.g., map, grapher) have additional dependencies not included in the base installation. If you encounter errors related to missing modules like 'matplotlib', 'Pillow', or 'lxml' when using these features, you need to install them separately.fixInstall missing dependencies as needed, e.g., `pip install matplotlib Pillow lxml`. The `requirements.txt` file in the MAVProxy source provides a comprehensive list of all optional dependencies.
affects: All versions
gotchaOn Linux, connecting to serial devices (like '/dev/ttyUSB0') often requires appropriate user permissions. Without them, MAVProxy will fail with a 'Permission denied' error.fixAdd your user to the 'dialout' group: `sudo usermod -a -G dialout $USER`. Log out and back in for changes to take effect. Alternatively, run MAVProxy with `sudo` (not recommended for regular use).
affects: All versions on Linux/Unix-like systems
gotchaThere can be tight coupling between MAVProxy, pymavlink, and MAVLink library versions. Updating one without the others can sometimes lead to MAVLink parsing errors or unexpected behavior due to protocol definition mismatches.fixIf experiencing MAVLink related issues after an update, try updating all three: `pip install --upgrade mavproxy pymavlink MAVLink`. Refer to MAVProxy's `requirements.txt` for recommended versions.
affects: All versions
Upgrade
Version history
1.8.74latest on PyPI · released Aug 1, 2025
Audit
Dependencies
pymavlinkrequiredCore MAVLink protocol implementation, essential for communication.
pyserialrequiredRequired for serial port communication with vehicle autopilots.
matplotliboptionalUsed by various MAVProxy modules for plotting and graphing data.
PillowoptionalUsed by the map module for rendering map tiles.