Installing OctoPrint on MacOS
This post is primarily a collection of notes that I have from installing OctoPrint on a Mac Mini I had laying around. It’s not meant as an exhaustive use guide. More a single point of reference for all of the pieces I had to go find or bridge gaps.
What is OctoPrint?
From their GitHub…
OctoPrint provides a snappy web interface for controlling consumer 3D printers. It is Free Software and released under the GNU Affero General Public License V3.
More practically, it’s a slick way to manage your 3d printer remotely. It also gives you neat features like time lapses. It also makes it so you’re not always shuffling MicroSD cards from one side of the room (or room to room) to make small prints or after you’ve made changes when you realized you had the slicer settings for your kid’s printer and not yours…
- Late 2014 Mac Mini
- macOS Monterey (12.6.5)
- 3 GHz Dual-Core Intel Core I7
- 16 GB RAM
- DISABLE SLEEP This bit me so hard.
- Creality Ender 3 V2
- Firmware 1.0.8
- Completely Stock (At the time of writing.)
This is all much easier if you already have the Mac setup to be used headless, if that’s how you’re going to use it, I’m not going to detail that here though.
This should just be a default on everyone’s Mac, but if you don’t already have it…install it now and thank me later.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Install Xcode CLI Tools
Just to make sure that you have all of the tools required for Git, we’ll make sure they’re installed and that you’ve accepted the licensing agreement.
xcode-select --install && sudo xcodebuild
Python should be installed by default. You can check by grabbing the version of Python currently installed.
Which will either fail miserably or give you a something like:
If it fails miserably, use Homebrew to install Python.
brew install python
There seems to be an assumption that
pip is installed by default, but it wasn’t the case for me.
You can check for
pip on your machine.
Again, if it’s installed you’ll receive a response like:
pip 23.1 from /usr/local/lib/python3.11/site-packages/pip (python 3.11)
If it’s not present, we’ll download a helper file and install it.
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && python3 get-pip.py
virtualenv provides an isolated environment for the Python application to run. At some point, I may go back and re-think this part, but it works really well right now so I’ll go with it until I figure something else out/am not currently printing parts for my printer.
pip install virtualenv
Alright, now that everything is in place, let’s run the dang thing.
First, create a directory to hold all of the files.
mkdir OctoPrint && cd OctoPrint
Second, we’ll create the virtual environment.
Now that it’s created, we’ll jump into that environment and install the actual OctoPrint package inside of it.
source venv/bin/activate && pip install -U pyobjc && pip install OctoPrint
Lastly, we need to do is run the application.
If all has gone to plan, you should now be able to open a browser and go to localhost:5000 and you’ll be greeted with the OctoPrint setup page.
I have not tested this bit yet, but there are instructions in the sources. I’ll come back and update this once I’ve validated it works.
I’ll save the tutorials and how to use for OctoPrint.org (I don’t know that I could do it justice). You should only be a USB cable away from hitting “connect to printer” and enjoying all of the features.