What do square brackets mean in pip install?

Babken Vardanyan picture Babken Vardanyan · Oct 16, 2017 · Viewed 15.5k times · Source

I see more and more commands like this:

$ pip install "splinter[django]"

What do these square brackets do?

Answer

Joe Iddon picture Joe Iddon · Oct 16, 2017

The syntax that you are using is:

pip install "project[extra]"

In your case, you are installing the splinter package which has the added support for django. The square brackets ([]) are not specific syntax, just convention. Really, you are installing the package named: "splinter[django]".

An explanation from @chetner:

The command pip install splinter django would install two packages named splinter and django. splinter[django], on the other hand, installs a variant of the splinter package which contains support for django. Note that it has nothing to do with the django package itself, but is just a string defined by the splinter package for a particular feature set that gets enabled.