Setup on Mac

Andrew Hamilton edited this page Mar 24, 2018 · 38 revisions

OctoPrint for Mac

Note: These installation instructions are based on the steps I (@foosel) took in order to get OctoPrint up and running on a MacMini running OS X 10.9.5. I'm an absolute beginner when it comes to Macs (I'm at home on Linux and Windows), so please improve these instructions where necessary - this is a wiki anyone with a Github account can edit, so please, contribute!

The old instructions can still be found in the history of this page but were very much outdated by now.


  • Must be performed with a user with Administrative privileges.

  • Requires the latest version of Xcode suitable for your OS X. For example, OS X 10.11 (El Capitan) requires Xcode 7. Specifically, this is to ensure that locally compiled components of Python libraries (such as pyobjc) can be installed successfully.

Install Xcode's Command Line Tools

  • xcode-select --install – this may ask you to accept the Xcode user license.

  • It doesn't hurt to also run sudo xcodebuild, to be sure the license acceptance process completed. If successful, you should see something like this: The directory /Users/myusername does not contain an Xcode project.

  • If you have more than one version of Xcode installed (unlikely -- you will know if you do) then ...

    sudo xcode-select -s /Applications/

Install Homebrew and use it to install Python

A version of Python 3 is already installed within OS X; however, OcoPrint requires Python 2.7, which can be installed with Homebrew as follows:

  • ruby -e "$(curl -fsSL"
  • brew install python@2

Install virtualenv

Note: for users with Anaconda or multiple python versions installed, make sure to use Python 2.7 from Homebrew. Homebrew uses this default directory: /usr/local/opt/python/libexec/bin. If needed, replace two of the below commands with /usr/local/opt/python/libexec/bin/python -m pip install virtualenv and /usr/local/opt/python/libexec/bin/python -m virtualenv venv.

We utilize virtualenv to maintain an isolated Python environment for OctoPrint development. This prevents other, global Python libraries or updates from breaking OctoPrint. While not strictly required, virtualenv can save us from headaches, down the road. See the virtualdev docs for more detail.

  • pip install virtualenv

Installing OctoPrint

  • git clone
  • cd OctoPrint
  • virtualenv venv
  • source venv/bin/activate (assumes you're using the default BASH shell. active.csh is also available.)
  • pip install -U pyobjc
  • python install

Running OctoPrint

  • cd OctoPrint – the folder created from the above git clone
  • source venv/bin/activate
  • octoprint serve


  • path/to/OctoPrint/venv/bin/octoprint

Updated 2017-12-27 by @kyleking (all revision history). Corrections welcomed!

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.