Before installing, you can preview Drake online using our interactive Python notebooks. See the Tutorials page for details.
The following table shows the configurations and platforms that Drake officially supports:
|Operating System ⁽¹⁾||Architecture||Python ⁽²⁾||End of life ⁽⁴⁾|
|Ubuntu 20.04 LTS (Focal Fossa)||x86_64||3.8 ⁽³⁾||March 2024|
|Ubuntu 22.04 LTS (Jammy Jellyfish)||x86_64||3.10 ⁽³⁾||March 2026|
|macOS Monterey (12)||x86_64||3.11||October 2023|
|macOS Monterey (12)||arm64||3.11||October 2023|
|macOS Ventura (13)||arm64||3.11||October 2024|
“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, on Ubuntu when installing via
pip Python versions
3.8 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.
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 20.04 LTS (Focal Fossa)||GCC 9||C++17|
|Ubuntu 22.04 LTS (Jammy Jellyfish)||GCC 11||C++20|
|macOS Monterey (12)||Apple LLVM 14 (Xcode 14)||C++20|
|macOS Ventura (13)||Apple LLVM 14 (Xcode 14)||C++20|
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.
|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.,
drake. Please upvote or comment on
if you are interested.
For Python, refer to Using the Python Bindings.