OS X

Dependency Installation

ZeroMQ and swig need to be installed first.

For installs using python installed via homebrew, sudo should be unnecessary:

Using homebrew with
XCode Command Line Tool (XCode: Preferences: Downloads: Command Line Tools: Install) pre-installed:
brew install python
brew install swig
brew install zmq
pip install salt
This should pip install salt and its dependencies, such as:
Jinja2 M2Crypto msgpack-python pycrypto PyYAML pyzmq markupsafe

Whereas when using macports, zmq, swig, and pip may need to be installed this way:

sudo port install py-zmq
sudo port install py27-m2crypto
sudo port install py27-crypto
sudo port install py27-msgpack
sudo port install swig-python
sudo port install py-pip

For installs using the OS X system python, pip install needs to use 'sudo':

sudo pip install salt

Salt-Master Customizations

To run salt-master on OS X, the root user maxfiles limit must be increased:

sudo launchctl limit maxfiles 4096 8192

And sudo add this configuration option to the /etc/salt/master file:

max_open_files: 8192

Now the salt-master should run without errors:

sudo /usr/local/share/python/salt-master --log-level=all

Post-installation tasks

Now go to the Configuring Salt page.