I’m working on a set of Python scripts that analyze data from .bin log files. My goal is to make them as multi-platform as possible - and I’ve been testing on Ubuntu, MAC OS, and Windows.
All the scripts rely on a python package called pymavlink.
To set up the development environment I use a requirements.txt file with the following dependencies:
The issue I’m running into is with the latest version of pymavlink—it doesn’t currently offer a prebuilt wheel for Windows, so pip attempts to build it from source. That process requires both a Rust compiler and a Windows linker (via Visual Studio Build Tools), which feels like a heavy lift for users who just want to run a few simple Python scripts.
One workaround I’m exploring is pinning an older version of pymavlink —specifically 2.4.41—which may include a prebuilt wheel and avoid the need for native compilation.
Another option I’ve considered is using PyInstaller to package the scripts into standalone .exe files for Windows. I suspect this might be how MavExplorer is distributed, though I haven’t confirmed.
Before settling on a path, I’d benefit greatly from hearing from others in the community. I imagine many of you have navigated this already, and I’d appreciate any insights or recommendations.
Pymavlink does offer prebuilt binaries for Windows (and has for some time), for Python versions 3.8-3.13. See pymavlink · PyPI for the complete listing.
Where did you see pymavlink need rust or windows linker ?
Pymavlink is a set of python tools so it needs python and optionally some xml tools. A compiler may be needed for C-extension but that is optional
Beside the C-extension all the rest of file are python file, so there shouldn’t be any issues to use it on windows … what instructions are you following, something looks wrong there !