Installation and Quickstart

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.