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 ⁽²⁾|
|Ubuntu 20.04 LTS (Focal Fossa)||x86_64||3.8 ⁽³⁾|
|Ubuntu 22.04 LTS (Jammy Jellyfish)||x86_64||3.10 ⁽³⁾|
|macOS Monterey (12)||x86_64||3.11|
|macOS Monterey (12)||arm64||3.11|
“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 does not support
the Python environment supplied by Anaconda. Before installing or using Drake,
conda deactivate (repeatedly, until even the conda base environment has
been deactivated) such that none of the paths reported
which -a python python3
refer to conda. Note that Miniconda seems to work fine; it’s only Anaconda that
has caused problems for some users.
⁽³⁾ 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.11 (inclusive) are supported.
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|
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.
For C++, refer to either the example CMake project for apt (deb) or the example CMake project for tar.gz download.