Python Installation Guide¶
This guide is intended for Python teams. Java and C++ teams can skip to WPILib Installation Guide.
Prerequisites¶
You must install a supported version of Python on a supported operating system. Every year we upgrade RobotPy to the latest available version of Python. In 2027 we support Python 3.11/3.12/3.13/3.14, but only 3.14 is available for the Systemcore.
- Supported Operating Systems and Architectures:
Windows 11, 64 bit only. Arm-based Windows 11 is unsupported.
Debian 13 “Trixie”, 64 bit only.
Ubuntu 26.04, 64 bit only.
macOS 15 or higher, both Intel and Arm.
Nota
Linux distributions other than those mentioned above that contain glibc >= 2.41 may work, but are unsupported.
Aviso
Windows 10 support from Microsoft ended in October 2025. While we will not explicitly block Windows 10 from being used, future releases may inadvertently break compatibility with Windows 10. We will not postpone these changes in order to maintain Windows 10 compatibility, and Windows 10 support may break as a result.
On Windows and macOS, we recommend using the official Python installers distributed by python.org.
Install RobotPy¶
Once you have installed Python, you can use pip to install RobotPy on your development computer.
Nota
If you previously installed a pre-2024 or 2024 beta version of RobotPy, you should first uninstall RobotPy via py -m pip uninstall robotpy before upgrading.
Aviso
On Windows, the Visual Studio 2026 redistributable package is required to be installed.
Run the following command from cmd or Powershell to install the core RobotPy packages:
py -3 -m pip install robotpy
To upgrade, you can run this:
py -3 -m pip install --upgrade robotpy
If you don’t have administrative rights on your computer, either use virtualenv/virtualenvwrapper-win, or or you can install to the user site-packages directory:
py -3 -m pip install --user robotpy
Nota
If you previously installed a pre-2024 or 2024 beta version of RobotPy, you should first uninstall RobotPy via python3 -m pip uninstall robotpy before upgrading.
On a macOS system that has pip installed, just run the following command from the Terminal application (may require admin rights):
python3 -m pip install robotpy
To upgrade, you can run this:
python3 -m pip install --upgrade robotpy
If you don’t have administrative rights on your computer, either use virtualenv/virtualenvwrapper, or you can install to the user site-packages directory:
python3 -m pip install --user robotpy
Nota
If you previously installed a pre-2024 or 2024 beta version of RobotPy, you should first uninstall RobotPy via python3 -m pip uninstall robotpy before upgrading.
RobotPy distributes manylinux binary wheels on PyPI. However, installing these requires a distro that has glibc 2.35 or newer, and an installer that implements PEP 600, such as pip 20.3 or newer. You can check your version of pip with the following command:
python3 -m pip --version
If you need to upgrade your version of pip, it is highly recommended to use a virtual environment.
If you have a compatible version of pip, you can simply run:
python3 -m pip install robotpy
To upgrade, you can run this:
python3 -m pip install --upgrade robotpy
If you manage to install the packages and get the following error or something similar, your system is most likely not compatible with RobotPy:
OSError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by /usr/local/lib/python3.7/dist-packages/wpiutil/lib/libwpiutil.so)
We publish prebuilt wheels on artifactory, which can be downloaded by giving the --extra-index-url option to pip:
python3 -m pip install --extra-index-url=https://wpilib.jfrog.io/artifactory/api/pypi/wpilib-python-release-2025/simple robotpy
source install
Alternatively, if you have a C++23 compiler installed, you may be able to use pip to install RobotPy from source.
Aviso
It may take a very long time to install!
Aviso
Mixing our pre-built wheels with source installs may cause runtime errors. This is due to internal ABI incompatibility between compiler versions.
Our ARM wheels are built for Debian 13 (Trixie) with GCC 14.
If you need to build with a specific compiler version, you can specify them using the CC and CXX environment variables:
export CC=gcc-14 CXX=g++-14
Download RobotPy for Systemcore¶
After installing the robotpy project on your computer, there are a variety of commands available that can be ran from the command line via the robotpy module.
Veja também
If you already have a RobotPy robot project, you can use that to download the pieces needed to run on the Systemcore. If you don’t have a project, running this command in an empty directory will initialize a new robot project:
py -3 -m robotpy init
python3 -m robotpy init
python3 -m robotpy init
This will create a robot.py and pyproject.toml file. The robot.py file contains a skeleton structure to help you get started writing your robot code. The pyproject.toml file should be customized and details the requirements needed to run your robot code, among other things.
Importante
The robotpy deploy command requires that you have written working robot code. The generated robot.py is just a starting point - you cannot deploy to the Systemcore until you have implemented your robot-specific code. See the RobotPy Programming Guide for information on writing robot code.
Veja também
The default pyproject.toml created for you only contains the version of RobotPy installed on your computer. If you want to enable vendor packages or install other python packages from PyPI, see our pyproject.toml documentation
Next run the robotpy sync subcommand, which will:
Download Python compiled for Systemcore, if it is not already installed
Download Systemcore compatible python packages as specified by your
pyproject.tomlInstall the packages specified by your
pyproject.tomlinto your local environment
Nota
If you aren’t using a virtualenv and don’t have administrative privileges, the robotpy sync command accepts a --user argument to install to the user-specific site-packages directory.
py -3 -m robotpy sync
python3 -m robotpy sync
python3 -m robotpy sync
When you deploy your code to the Systemcore, the deploy subcommand will automatically install Python (if needed) and your robot project requirements on the Systemcore as part of the deploy process.