Previewing
Before installing, you can preview Drake online using our interactive Python notebooks. See the Tutorials page for details.
Installation
Supported Configurations
The following table shows the configurations and platforms that Drake officially supports:
Operating System ⁽¹⁾ | Architecture | Python ⁽²⁾ | End of life ⁽⁴⁾ |
---|---|---|---|
Ubuntu 22.04 LTS (Jammy Jellyfish) | x86_64 | 3.10 ⁽³⁾ | March 2026 |
Ubuntu 24.04 LTS (Noble Numbat) | x86_64 | 3.12 ⁽³⁾ | March 2028 |
macOS Sonoma (14) | arm64 | 3.12 ⁽³⁾ | October 2025 |
macOS Sequoia (15) ⁽⁵⁾ | TBD | TBD | October 2026 |
“Official support” means that we have Continuous Integration test coverage to notice regressions, so if it doesn’t work for you then please file a bug report.
Unofficially, Drake is also likely to be compatible with newer versions of Ubuntu or macOS than what are listed, or with Ubuntu 22.04 running on arm64, or with other versions of Python. However, these are not supported so if it doesn’t work for you then please file a pull request with the fix, not a bug report.
⁽¹⁾ Drake features that perform image rendering (e.g., camera simulation) require a working display server. Most personal computers will have this already built in, but some cloud or docker environments may require extra setup steps.
⁽²⁾ CPython is the only Python implementation supported. Drake is not tested regularly with Anaconda, so if you are using Anaconda you may experience compatibility hiccups; when asking for help, be sure to mention that Conda is involved.
⁽³⁾ The Python version shown in the table is supported for all installation
channels. Additionally, when installing via pip
on Ubuntu Python versions 3.10 through 3.12 (inclusive) are supported and
on macOS Python versions 3.11 through 3.12 (inclusive) are supported.
Refer to OS Support for details on our “end of life”
timeline for changing which Python versions are supported.
⁽⁴⁾ These end-of-life dates are estimates. Refer to OS Support for details.
⁽⁵⁾ Sequoia support is in development; refer to #21910 for details.
Additionally, if you are compiling your own C++ code against Drake’s C++ code and are using Drake’s pre-compiled binaries, then you must use the same compiler as our releases:
Operating System | C/C++ Compiler | Std |
---|---|---|
Ubuntu 22.04 LTS (Jammy Jellyfish) | GCC 11 | C++20 |
Ubuntu 24.04 LTS (Noble Numbat) | GCC 13 | C++20 |
macOS Sonoma (14) | Apple LLVM 14 (Xcode 15) | C++20 |
macOS Sequoia (15) | TBD | TBD |
Available Versions
Drake publishes stable releases approximately once a month, and also offers nightly builds on an ongoing basis.
For new users, we recommend using the stable releases. New releases will be announced on Drake’s GitHub releases page and documented in Drake’s Release Notes. Refer to our Drake Stability Guidelines for our policy on API changes.
Experienced users who want access to the latest features may use the nightly builds.
Choose an Installation Method
The following table shows the installation methods available for Drake’s pre-compiled binaries, per the supported platforms and release versions.
The pip packages only support using Drake via Python. All other packages support both C++ and/or Python.
Ubuntu | macOS | |
---|---|---|
Using pip | Stable or Nightly | Stable or Nightly |
Using apt (deb) | Stable or Nightly | |
Using tar.gz download | Stable or Nightly | Stable or Nightly |
Using Docker Hub | Stable or Nightly | Stable or Nightly |
Alternatively, you can skip the pre-compiled binaries and build Drake following the instructions in Source Installation.
Drake’s binary releases do not support the Gurobi solver. To use Gurobi, you must build Drake from source.
We’re considering adding macOS support for Homebrew, i.e., brew install
drake
. Please upvote or comment on
#12782
if you are interested.
Quickstart
For Python, refer to Using the Python Bindings.
For C++, refer to either the example CMake project for apt (deb) or the example CMake project for tar.gz download.