Pip Packages
Drake publishes pre-compiled binaries as
PyPI wheel packages. Refer to
Supported Configurations
for additional compatibility details. Drake wheels require a pip
version of pip >= 20.3.
To learn about other installation methods, refer to Installation and Quickstart.
If you experience any problems with or have questions about Drake, please ask for help.
Drake binary releases incorporate a pre-compiled version of SNOPT as part of the Mathematical Program toolbox. Thanks to Philip E. Gill and Elizabeth Wong for their kind support.
Please note the following compatibility requirements for using Drake via Python:
- Drake’s pip packages contain the SNOPT solver by default.
- Drake’s pip packages support the MOSEK™ solver on an opt-in basis by using the
[mosek]extra. The user must supply their own MOSEK™ license. - Drake’s pip packages do not support the Gurobi solver. To use Gurobi, you will need to build Drake from source following the instructions in Source Installation.
- 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.
- For macOS, ensure that you’re using Homebrew Python (not Apple’s system Python).
We recommend installing drake into a
virtual environment
directory. In the examples below, we will name that directory env, but you
can choose any name.
Stable Releases
Create a virtual environment, install Drake, and activate the environment:
python3 -m venv env
env/bin/pip install drake[mosek]
source env/bin/activate
The [mosek] extra may be omitted if the user doesn’t have a MOSEK™ license.
Refer to Quickstart for next steps.
Nightly Releases
Wheel packages for Linux and macOS are published nightly at a PEP 503 index url https://drake-packages.csail.mit.edu/whl/nightly/.
- Nightly wheel version numbers are created as
0.0.YYYYMMDD, e.g.,0.0.20260818for August 18th, 2026.- Wheels that use the older
pybind11binder instead of its newernanobindreplacement are marked as “beta release”, e.g.,0.0.20260818b1. Thepybind11wheels are provided for backwards compatibility and will stop being published on or after 2027-03-01.
- Wheels that use the older
- Nightly wheel packages are retained for 56 days from their date of creation, and drop out of the index after 48 days.
To install a specific nightly wheel using pip, replace YYYYMMDD with the
desired date:
python3 -m venv env
env/bin/pip install \
--extra-index-url https://drake-packages.csail.mit.edu/whl/nightly/ \
'drake[mosek]==0.0.YYYYMMDD'
source env/bin/activate
Or, to install today’s most recent nightly wheel using pip, specify <0.1
instead of ==0.0.YYYYMMDD as shown below:
python3 -m venv env
env/bin/pip install \
--extra-index-url https://drake-packages.csail.mit.edu/whl/nightly/ \
'drake[mosek]<0.1'
source env/bin/activate
In both examples above, the [mosek] extra may be omitted if the user doesn’t
have a MOSEK™ license.